Joins on real values are notorious for lack of reliability. You might want to consider
creating an integer factor (*100) or string equivalent, to take the floating point
representation issues out of the equation.
You can also gain significant performance benefit by using the SQL engine to drive the
joins (in the database, vice in ArcGIS), mostly through the use of views.
Joins across databases are not supported; this even more true for joins across servers,
but you can probably make this work if you initially create a table in the the local database,
then after the app is working, rename the table and configure a foreign table reference
in its stead. Performance in this situation is often poor (vice local tables, due to the lack
of indexes, caching, or optimizer configuration), and most folks usually wind up using some
form of replication to push the foreign table into the local database as the long-term solution.
- V