After reading more of the code in mouse.el, I found that mouse-save-then-kill is the only function that allows using the mouse to set/resize rectangular regions. I'm attaching a patch that fixes all three use cases for this function: setting the region initially, resizing the region, and killing the region. I've also made sure it works correctly when mouse-drag-copy-region is set to t. Hope it helps.