CDR and Call-Transfers problem

Hi all!
I have a little problem with the CDR engine. I’ll explain my scenario.

First scenario:

1 - I receive a call from the ZAP interface;
2 - Asterisk setup the CDR(accountcode) acording to my needs;
3 - Rings my phone A and I pick it up;
4 - I press “FLASH” in my phone A and get another dialtone;
5 - I call some local SIP phone B, then hangup
6 - Asterisk will “native bridge” the channels
7 - Phone B now will talk to the incoming call

Ok, everything works right, but the CDR entry generated by this sequence
is kinda weird. I loose my “accountcode” and my userfield (if I set it). This is
a problem cause I filter my CDR entries by the accountcode, so I can show
just the calls from some customers.

Another scenario:

1 - I make a call from inside to some outside number, using the ZAP iface
2 - Another side picks up the phone
3 - I press “FLASH” in my phone (A) and get another dialtone;
4 - I call some local SIP phone B, then hangup
5 - Asterisk will “native bridge” the channels;
7 - Phone B now will talk to the outgoing call

Here, the CDR entry is even worst! I loose my CDR variables and the CDR entry
states the phone number I first called (outside) as the src, and the local
sip number as the dst.

Anyone got this problem too?? Any solutions to this???
Thanks in advance!

Carlos Barros