Sounds to me like the phone itself. I had a similar issue a while back and I reflashed the firmware to POS3-08-9-00 (it was on 3-08-2-00) and it fixed it, so I'd try that before sending it to the bin.
I'm struggling to get my 7940 phones to work with 3CX. They work fine with AsteriskNow and...