Been working on an secondary connection to a SQL Server database that will be used to add more information to the user profile properties. Solution includes the BDC application but foremost setting the correct access permission for the account accessing the BDC application.
I use "RevertToSelf" in the ADF which makes the access to the BDC run with the account for the service "Office SharePoint Search Server".
So the account needs "Execute" permissions for the BDC application and all entities, DBDataReader to the SQL Server (or any other read permission) and finally "Manager User Profiles" under "Personalization Permissions". When troupbleshooting this the ULS is yor friend.
Make sure that no other accounts gets permission to the application in BDC, you want to avoid to expose the BDC application to the built-in web parts.