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