The customer has a inbound CID rule that sends the call to an extension and if the extension is busy/away then it forwards to the queue. Is there anyway to tell what the status of the agent was for the incoming call which was forwarded to the queue?
Essentially no. There isn't a report that reflects agent status yet. The management console log will include information about status changing but it doesn't go too far back I'm afraid.
You won't need the CFD. It doesn't include the info but I did find a way to tell:
Run a call report - you can check the different reasons, and test them yourself to confirm. Busy, forwarded... will be when the extension is busy and Forwarded is when it is simply in Away status with a forward.
We keep track of presence status changes so you can compare when the call came in, and what the agent's presence status was at the time. Between the call report suggested by @VasilisV_3CX and our ability to track presence changes, you should be able to get what you need.