George, I received a ZTE MF636 as a replacement for the Novatel. After enabling and testing the device on Vista, I moved it to the Ubuntu server. Although usb_modeswitch seemed to work initially, it would not switch the device out of its ZeroCD mode after I rebooted. Your trick of sending an AT+ZCDRUN=8 command to the modem to disable ZeroCD saved the day. In general, the ZTE modem appears to deliver better throughput than the Novatel.
The modem intermittently hangs just like the Novatel, although the symptoms are different. I see the following errors in syslog:
Apr 23 03:51:33 300PL pppd: No response to 4 echo-requests
Apr 23 03:51:33 300PL pppd: Serial link appears to be disconnected.
Apr 23 03:51:33 300PL pppd: Connect time 601.6 minutes.
Apr 23 03:51:33 300PL pppd: Sent 26748373 bytes, received 132386910 bytes.
Apr 23 03:51:39 300PL pppd: Connection terminated.
The modem does not disconnect from the USB port - the /dev/ttyUSB0-2 devices still exist. Sometimes the modem shows a solid green light (indicating that it is registered but not connected on a 2G network), sometimes the modem light goes off completely. In the former state, wvdial cannot communicate with the modem (Modem not responding to ATZ commands). daemon.log shows nothing relevant to the problem.
Since I have connection issues with multiple modems on multiple PCs and operating systems, I suspect the modems are not properly handling some sort of carrier problem. Unfortunately, the carrier has not stated any sort of Linux support for the ZTE and reproducing the problem on Windows will have to wait.
I have installed your cable patch to eliminate power issues. The next step is to build a device that will interrupt and restore USB power under control of the Ubuntu server. I am hoping I can also use this device to power off the modem during server bootup - Ubuntu hangs during hardware detection if the modem is plugged in (dmesg shows the modem is detected and /dev/ttyUSB0-2 ports are added but the filesystems have not been mounted). It may be a problem with my udev rules.