Hi Dale,
Some principles of OOUI and Naked objects are implemented in Record Browser, but some are not. We made it as database description - not as an object. We indeed skipped object representation, reflection and code generated stuff (like ORM), to make it simpler and more reliable.
Theoretically you need a business object to say that you have naked objects, we don't have such objects in RB. There was a project of Propel integration, but it failed. It wasn't what we were looking for.
We use RB to create business logic, and we are very satisfied with this tool. In RB record definition you define everything (field types, foreigns, display callbacks, optionally validation callbacks, post submit/pre insert alter methods....) and basing on it the user interface is created and business rules are validated, so UI is direct representation of record definition (database+some manipulation methods).
To create new business rule, or set of rules, we create new module and there we place everything in install, common and main files. We start with creating prototype with record definition (install file). After that, and some simple record view method in main file, you can test what you have and then customize it to desired requirements with common methods (access/display/submit/form manipulation callbacks).
Foreign keys you define with other RB recordsets by 'param' key, common data arrays by 'param' key, and for other database tables manually by manipulation methods in common file.
Hope this will help
Paul