I rewrote my code using another approach that looked promising, but I got stuck handing the last incomplete block characters.

My new approach is still a step backward:

Running Test 1 Encoding...Decoding...Done
Running test 2 Encoding...Decoding...Done
Running Test 3 Encoding...Decoding...Done
Running Test 4 Encoding...Decoding...Done
Running Test 5 Encoding...Decoding...Done
Running Test 6 Encoding...Decoding...Done
Your solution passed all tests

KiXtart
KiXtart Version = 4.52
KiXGolf Script = kixgolf_ts.kix

Computer
OS = Windows XP Professional
CPU = Intel Pentium Model 13
Speed = 1798 MHz
Memory = 1024 MB

KiXGolf Scoring Engine
Scoring Engine = 3.3

KiXtart Golf Score
Tournament = Top Secret
Processing Start = 2007/08/08 02:57:24.829
Processing End = 2007/08/08 02:57:24.859
Duration = 0000/00/00 00:00:00.030
KiXGolf Score = 538
_________________________
Home page: http://www.kixhelp.com/hb/