EDIT:
Summary and a decent solution:
1. Working in a database that is not geo-enabled, you may have some difficulties keeping your primary-key fields in ArcGIS tools' results.
2. If your data doesn't have the ArcGIS maintained OBJECTID field, ArcGIS will look for another candidate.
3. If you have a not-null - unique - integer field (like many primary keys), ArcGIS will treat it as the OBJECTID and will define it's data type as "Object ID". You cannot tell ArcGIS to ignore that field.
4. The problem with this is that when you run a tool that creates a new Feature Class / Table from your data, ArcGIS populates the OBJECTID field with new values, making you lose the option to do joins based on that field.
5. Here are a few workarounds:
a. Create a view from your data in your database and run the tool against the view. ArcGIS doesn't recognize the field in the view as OBJECTID.
b. Don't choose integer for your primary key field. Use numeric, float, etc.
c. Add your data to ArcGIS as a query table with a virtual key. Note that there may be a problem if you're using "Database Connection" - Try using "OLE DB Connection".
Thank you, Shahar! Your observation that the "Add OLE DB Connection" function is now hidden in a button instead of being part of the add DB connection dialog helped me solve a nagging mystery!
--Eric