Thank you Devon and Mike.
I was able to recover the file over the weekend, but tried your solutions anyway out of curiosity and to verify things as my method of reading through the file with IND= didn't appear to get all records. The original file reported that there were 8828949 records, but I only recovered 8828387. I wasn't sure if I lost 562 records or if the original record count was inaccurate due to the corrupt key tree.
Yes, the keyed load worked when run directly on the server as opposed to WindX. It reloaded 8828387 keys, which was the same number of records I recovered while reading through the file with IND= (but keyed load did it in under 10 minutes with the file locked as opposed to the couple of hours my method took).
The fixvlr2 utility did report a bunch of "Bad key len" errors, but recovered the same 8828387 records and took 30-40 minutes.
I assume there were 562 records skipped due to "Bad key len".
I'm sure I lost 562 records now, but now know we recovered everything we could.
Thanks again for your help.