However, when I turn the USB remote on with usb_force_active enabled, the connection is fine, and it only breaks when I turn the switch in the 5V line off.
usb_force_active tricks the canon firmware into thinking the USB power is there, but I'm not surprised the PC host controller notices when it gets cut.
On my D10, if I use usb_force_active, unplug the cable and re-plug it, I get an IO error the next time I try to do something in chdkptp, but I can reconnect.
I'm not sure if this is the same behavior I posted about in the development thread
http://chdk.setepontos.com/index.php?topic=11779.msg115815#msg115815 I thought there was a window of time where it just worked, but I don't remember exactly what I tested.
Note if you are using the GUI, it polls to check the available cameras and connection status, so it will notice almost immediately if the USB connection dies. You set gui_dev_check_interval=0 to disable this polling.
edit:
As I understand it, the main purpose of usb_force_active is to keep the camera from freaking out. Normally, if you switch to rec under PTP control and then disconnect, and then reconnect the cable, the camera will go back to play mode.