The best solution is to use two different tables for start and stop accounting. Have a look in the sql.conf file in FreeRADIUS Problem is that SER replaces the Username in the stop-message, with whoever hung up... Therefore the default queries in FreeRADIUS won't find the corresponding record.
To get the CDR just join the two tables on AcctSessionId. I have experienced problems joining on the AcctSessionId in MySQL versions prior to 4.1, for some reason.
Bjorn