Ron:
>Does CM have a data dictionary
No. The design of the framework kind of sidesteps the need. However, a lot of Codemine users use SDT somewhere in the mix. I personally dont.
>or does it use VFP's?
I presume your referring to VFP's DBC? If so, yes, it is happy to use the DBC. However, I personally don't use DBC's (except for view definitions) because of my system's mix of current and legacy data (I use 2.6 tables to a great extent). However, using SQL back-ends mitigates the value of data dictionaries IMHO.
>Does it have error logging?
You can have errors written to the Codemine event log.
>Audit trails?
No natural audit trail feature is in there, unlike VPM. However, I need data audit trails in my system and I looked at VPM several years ago. The VPM audit trail facility was OK but in no way met my requirements. So, I had to roll my own anyhow. The amount of hooks and data events in Codemine allow you to very easily include full audit/logging features (without even using DBC's) - no need to rely or use DBC triggers for anything - far greater features exist in the Codemine datamanager, rules, cursors and CodemineDE classes.
HTH
-=Gary