>cUpdateInsertCmd is empty . . .
You mean that when you Tableupdate() and stop processing in the BeforeUpdate method in your CA subclass, the incoming parameter cUpdateInsertCmd is empty at that point? That would certainly be a problem, because that's basically what is going to be sent to the backend (after a little bit of massaging).
Caveat: I have not used ADO with CA other than a brief experiment, so I'm not up to level of understanding about it as I am with Native or ODBC DataSourceType, so I might be missing something obvious here.