Each call generates 2 CDR records

As mentioned above… its hard to help with so little info.
However we saw the same thing… Turned out it was due to our dial plan.
We had:

exten => h,1,NoOp("Hanging up and cleaning up")
exten => h,n,NoOp("accnt code = ${CDR(accountcode)}")
exten => h,n,ResetCDR(w)
exten => h,n,NoCDR()
exten => h,n,AGI(hangup.pl,${ACCNT},${dstacct})

With the above we were getting the double entry in the CDRs, and the entries had the same unique ID. One saying ANSWERED the other saying NO ANSWER

We changed our dialplan to:

exten => h,1,NoOp("Hanging up and cleaning up")
exten => h,n,NoOp("accnt code = ${CDR(accountcode)}")
exten => h,n,AGI(hangup.pl,${ACCNT},${dstacct})

And everthing went back to normal. The reason we were calling ResetCDR and NoCDR was due to a problem with 1.4 not closing the CDR before the h exten was called. And then in 1.6 that got fixed.

I may be way off for your setup but any little bit of info helps right?

J