As many have stated, pushing the v21E_00.kdz via the KDZ_FW_UPD program does work. It's just touchy.
This is a step by step guide to get you back in to working shape.
Note: You MUST do this via a PC running Windows XP. Running Vista/7 in compatibility mode is not going to work, period.
Part 1: Download the files you will need below.
LG USB Drivers G2x
1) Install the LG G2x USB drivers to your WinXP machine.
2) Extract the entire contents of the One-Click recovery in to a folder and keep it handy.
3) Remove the battery from the phone. Hold both volume buttons and plug in the USB cable. If you are asked for a driver, look in the APX folder where you extracted the One-Click recovery archive.
4) Run OneClickRecoveryFlasher.exe and flash the stock recovery. Wait for the process to finish and close all windows and unplug the phone.
5) Put the battery back into the phone and turn it on. You will be back at the S/W Upgrade screen. This is where you want to be!
Now plug the USB cable back in to the phone. If everything is up to snuff you should have no driver problems at this point.
6) Extract KDZ_FW_UPD_EN.7z in to a folder. Inside is a msxml.msi. You need to run and install this first!
7) Run KDZ_FW_UPD.exe.. Leave the type set to CDMA and the phone mode set to DIAG. DO NOT CLICK ON "Read phone information"
8) Click the folder icon and load the V21E_00.kdz
9) Click launch software update (and pray!)
What you will see:
The log window will immediatly show:
22:41:02 : Launching SW update
22:41:02 : Unpacking KDZ
Then it will stop for a while.
After this you will most likely see:
22:41:16 : KDZ file extraced
22:41:21 : Files were extracted.
22:41:21 : LGMobileDL Load.
22:41:21 : Port = 5
22:41:21 : Connecting to phone
22:41:33 : Check Phone mode = 1
It will pause again before you see:
22:42:08 : Phone type check.......
22:42:08 : LGMobileDL.DLL Loading....
22:42:08 : _SetAuthMark Fail
22:42:08 : AuthMark°¡ Á¤È®È÷ Phone¿¡ Write µÇÁö ¾Ê¾Ò½À´Ï´Ù!
22:42:08 : _SetAuthMark Fail
22:42:08 : LoadCDMAPhoneData() Error
22:42:08 : _DetachDLL Call
22:42:08 : _DetachDLL Call End
22:42:08 : Param : Path = C:\Documents and Settings\All Users\Application Data\LGMOBILEAX\Phone\V21E.wdb
22:42:08 : Param : moduleDir =
22:42:08 : Param : waitTime = 33000
22:42:08 : Param : UsbHighSpeed = 0
22:42:08 : Param : PhoneMode = 1
22:42:08 : Param : BinVersion = V21E_00
22:42:08 : Param : AuthMark = 0
22:42:08 : Call fn_StartUpgrade
Finally after another pause you should start to get spammed by the following message:
22:42:41 : CDMA: wParam = 2007, lParam = 0
22:42:41 : Model Dll Msg Not Found(2007, 0)
You will even hear the USB disconnect/reconnect sound several times.
The sound and spam will continue until the lParam counts to 100.
It should look like:
22:46:25 : CDMA: wParam = 2005, lParam = 100
22:46:25 : Model Dll Msg Not Found(2005, 100)
22:46:25 : CDMA: wParam = 2001, lParam = 0
22:46:25 : Model Dll Msg Not Found(2001, 0)
After it gets to 100, your phone will reboot to the LG logo before going
blank. After a few moments of the blank screen you will get the TMO G2x splash before being dropped back in to your working phone.
Be patient as this takes a while. If at any point the program freezes for more than a few moments, it's most likely going to fail and you will need to try again.
Hope this helps. =)
Thanks to everyone who helped figure this out.
Edit: Added some missing info.