Ok this is even stranger:/ As long as I enable the millisecond delay, it fails to logon immediately (<=1sec). No matter what I set the value to. 10000 produces the same result as 100ms. Also with the delay enabled, it doesn't log anything..
In order to rule any Win 8 operating system quirks out of the equation and possibly anything in my LSP chain interfering (NOD32 etc) I also tried to run under the VMWare WinXP VM that I use to test my software under (I should probably have done that sooner). No difference at all. The Win XP VM, is stock XP, latest service pack no locale settings whatsoever or anything other than VMWare Tools.
Then I did something else I should have tried sooner as well. I run the Linux 2.51 version on the Fedora box I also use for development. Same results... On exit it also threw an unhandled exception:
[ntt@wintermute rs-ux64-2.51]$ ./rsux
TLResourceList.Sort 53 DUPLICATE RESOURCE FOUND: TBitchart:PNG
TLResourceList.Sort 54 DUPLICATE RESOURCE FOUND: TBitchart:PNG
TLResourceList.Sort 57 DUPLICATE RESOURCE FOUND: TLinechart:PNG
TLResourceList.Sort 58 DUPLICATE RESOURCE FOUND: TLinechart:PNG
TLResourceList.Sort 60 DUPLICATE RESOURCE FOUND: TLinediagchart:PNG
TLResourceList.Sort 61 DUPLICATE RESOURCE FOUND: TLinediagchart:PNG
An unhandled exception occurred at $0000008312D00000 :
EAccessViolation : Access violation
$0000008312D00000
$0000000000518227
$0000000000518245
$0000000000518227
$0000000000518227
$0000000000518245
$00000000005181D4
$000000000051928D
$00000000005707EE
$000000000057082E
$0000000000831342
$0000000000838462
[ntt@wintermute rs-ux64-2.51]$
This proves the issue is not operating system dependent and since Special Login works properly with your modem, it seems it's specific to the ZTE device. I'm leaning again on failure to parse modem output due to encoding? I managed to get it to connect one more time randomly, telnet data was visible (connection stats and bitloading) but SNR Margin graph was still blank. I'm taking a wild guess that rs-w could not understand the output. I can not think of a way to check what character encoding is used:/
EDIT: The only thing I can find in the shell is the terminal emulation is set to VT102 (According to /proc/self/environ). $LANG is not set.