asavoy,
I have been using CanJS together with RequireJS for a while now and I think they mix fine. It took a while to get all pieces together, but I haven’t come across problems that could not be solved.
To answer your questions,
1. No, I haven’t found any incompabilites. I load canjs with bower and use the amd version.
2. I don’t know of any existing plugin out of the box, but I use a custom built version of jfparadis’s requirejs-mustache plugin
3. I have managed to get a modular production build of a single page app, with a base module loaded on first access, and then other modules loaded lazily when required (in my case after login). One of the main reasons why I switched from Steal to RequireJS was to be able to do just that.
Feel free to look at an example project I have on github. It’s a very simple single page app which I have used as a base for other projects. This example does not however contain a modular production build, but I have tried that in another project with pretty much the same base.
https://github.com/perehn/canjs-requirejs
regards
Per