[HTC One S] el_smurfo:
I'm not the best at reading logs, so I'm not sure I clipped the right snippet, but I believe this captures me selecting 3g only from the notification panel, then watching the network mode change to H (with 1 bar), and go grey permanently. Catlog conveniently tags "unknown network type" as an Error. I toggled back to 2g only and got 5 bars of grey until I used airplane mode to force reconnect.

I can sit at my low signal desk and force this all day long if you tell me the exact spot in the log to look for.

08-16 13:21:48.096 D/PhoneToggler(1315): Got modify intent

08-16 13:21:48.096 D/PhoneToggler(1315): Will modify it to: 2

08-16 13:21:48.106 D/PhoneToggler(1315): Accepted modification of network mode to : 2

08-16 13:21:48.146 D/PhoneToggler(1315): handleGetPreferredNetworkTypeResponse: modemNetworkMode = 2

08-16 13:21:48.146 D/PhoneToggler(1315): handleGetPreferredNetworkTypeReponse: settingsNetworkMode = 1

08-16 13:21:48.146 D/PhoneToggler(1315): handleGetPreferredNetworkTypeResponse: if 1: modemNetworkMode = 2

08-16 13:21:48.146 D/PhoneToggler(1315): handleGetPreferredNetworkTypeResponse: if 2: modemNetworkMode != settingsNetworkMode

08-16 13:21:48.146 D/PhoneToggler(1315): handleGetPreferredNetworkTypeResponse: if 2: settingsNetworkMode = 2

08-16 13:21:48.997 E/MobileDataStateTracker(676): default: unknown network type: 0

08-16 13:21:48.997 D/ConnectivityService(676): ConnectivityChange for mobile: DISCONNECTED/DISCONNECTED

08-16 13:21:49.017 D/ConnectivityService(676): Attempting to switch to WIFI

08-16 13:21:49.017 D/ConnectivityService(676): Attempting to switch to BLUETOOTH_TETHER

08-16 13:21:49.027 D/NetUtils(676): android_net_utils_resetConnections in env=0xb8618ea0 clazz=0xaae00001 iface=rmnet0 mask=0x3

08-16 13:21:49.027 D/ConnectivityService(676): resetConnections(rmnet0, 3)

08-16 13:21:49.057 W/Smack/Packet(1368): notify conn break (IOEx), close connection

08-16 13:21:49.067 D/dalvikvm(1315): GC_CONCURRENT freed 1941K, 71% free 3125K/10680K, paused 16ms+5ms, total 110ms

08-16 13:21:49.157 D/Nat464Xlat(676): requiresClat: netType=0, hasIPv4Address=true

08-16 13:21:49.227 I/qtaguid (1368): Untagging socket 69 failed errno=-13

08-16 13:21:49.227 W/NetworkManagementSocketTagger(1368): untagSocket(69) failed with errno -13

08-16 13:21:49.227 D/ConnectivityService(676): handleInetConditionChange: no active default network - ignore

08-16 13:21:49.617 V/PanelView(5589): animationTick called with dtms=0; nothing to do (h=791.5 v=-1322.4143)

08-16 13:21:50.118 W/InputMethodManagerService(676): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@a7779678 attribute=null, token = android.os.BinderProxy@a794d420

08-16 13:21:52.200 D/Tethering(676): MasterInitialState.processMessage what=3

08-16 13:21:52.220 I/ActivityManager(676): Start proc com.cyanogenmod.updater for broadcast com.cyanogenmod.updater/.receiver.UpdateCheckReceiver: pid=19966 uid=10139 gids={50139, 3003, 1015, 2001, 1028}

08-16 13:21:52.320 I/ActivityManager(676): Start proc com.cyanogenmod.lockclock for broadcast com.cyanogenmod.lockclock/.ClockWidgetProvider: pid=19985 uid=10148 gids={50148, 3003, 1028}

08-16 13:21:52.390 I/ActivityManager(676): Start proc com.android.mms for broadcast com.android.mms/.transaction.MmsSystemEventReceiver: pid=19998 uid=10026 gids={50026, 3003, 1015, 1028}