How to calculate overlapping genes between two genome annotation versions
Short Answer:
In my opinion, my approach would be to pull out the CDS exons and run bedtools on those.  

A Few More Details:
When you pull out the exons, make sure that you assign them all IDs if the don't already have them assigned and record which IDs "belong" to which genes. Now when you get exons that overlap, you know that they are coding and you can tie them back to which genes they originate from.