Thanks for your help!
I think that there is some source code commented somewhere doing what you seem to expect.
I'll dig around, but definitely the examples dealing with PickRay do not handle window resizing properly.
In theory, you can use several cameras with a single canvas and you can use the same camera with several canvases, that's why a camera isn't strictly bound to a canvas and it's up to you to update the camera used with a particular canvas.
Okay, that makes sense but more flexibility demands more intimate knowledge of internal mechanisms and w/o documentation I'm forced to examine the code and post questions to a list of experts who hopefully have already tackled the problem. I really appreciate the insight you've provide thus far, how would you approach this? Could you point me to source code from one of your projects?