Grigore,
I agree with you about most points about CA, The help doesnt helps when it comes to help to develop an app using CA.
About your questions:
a) To add and CA in the dataenvironment in Form designer, keeping the settings you have to,
Right-click in the DE of the form and select Builder, select 2° Tab and click the Add button
and select the CA from the class.
b) I use a CA with Join, but never tested using a subclass of an CA class, In my case I allways call
Stored Procedures at server side using the CA, so I just pass those fields as parameters.
c) I have a diferent aproach to use Transactions with CA as you have and it works fine for me.
At Server side I have the Stored Procedures for Insert/Update/Delete that CA calls with Tableupdate.
Heres a simple model.
= SQLSETPROP(nID, 'TRANSACTIONS',2)
IF TABLEUPDATE(1,.T.,table_name)
= SQLCOMMIT(nID)
ELSE
= SQLROLLBACK(nID)
oConn.GET_ERROR()
ENDIF
But CA really could be easier for developers and also needs improvement.
Peter