I had a couple weird electrical issues with my 2004 Model B, and had to solve them myself because the dealer wouldn't take the time to actually find the root cause.
First issue was also a CAN communication error, long story short it was a pin in the wiring harness connector to the controller which was not fully seated. This controller module is located on the back wall of the cab, between the seats. I would recommend that you remove the connector and visually look at each pin (well, socket actually, the pins are on the controller) to see if any are not all the way at the mating surface of the connector. You can also pull on each wire individually to see if any pull back. If they do, push it all the way in and see if it locks. If so, your done. If not, then pull that wire all the way out and tweek the tab that sticks out the side a little and reinsert. If they don't lock into the connector, they will eventually vibrate out.
My second wiring problem which may be causing your issue was caused by the engine rubbing through the wire harness, grounding out the wires. My dealer 'fixed' this for me under warranty by bypassing the first wire to short out with another loose piece of wire, not a very good fix. And ultimately the reason I'll never have my dealer do any further electrical work! The location was the front corner of the cylinder head, center of the vehicle under the seats. Kind of a tough location to get to, but I highly recommend investigating this location for harness damage. It was a couple years ago now, but as I remember there is a clip in this location holding the harness to the engine, and I had to bend it away from the cylinder head a little. It was very had to see the rub through, I recommend using a little mirror. It's even harder to repair the wires, but the could easily be the cause of your intermittent CAN error. Basically anything grounding either CAN high or CAN low will squash the communications between all modules. If they were routed correctly in the first place, it would never have been an issue. Instead I had three repair trips to the dealer, and the two days I spent tracing the actual problem down and repairing it so it would not re-occur. Lesson learned!