You shouldn't need to go in that direction. It is good that you are very knowledgeable and understand registers and is able to go in the processor to tweak it any way you like. But, if you want your code to be portable then you should use the official drivers and if you experience any problem then just let us know and we will help you out.
Now, let us start from zero and see if we can help you out.....no register access for now! Please try to use CAN with no register access and if it didn't work then let us know.
I am assuming that you are using the latest firmware?
http://www.tinyclr.com/release-notes/Note that CAN2 doesn't work on this firmware (it is fixed in new beta release) but CAN1 should be fine.