Thanks for the offer Joakim, but I really dont want to release source for this as it is my little commercial venture.
Fwiw, I too have written my own PB Windows based GUI console for all end user programming to the eeprom. It works along the lines of using an ascii digit as byte 0, location to read as byte 1, value to write as byte 2 & byte 3 as a padding / comparison check being sent from the computer.
The micro when it sees say ascii 3,5,200,3 will then write a value of 200 in eeprom location 5, read the new value from the eeprom & return ascii 3,5,200,3 so the computer knows to move onto the next location, etc.
Works really well & is giving me around 12 / 14ms complete round trip time per location meaning I am able to write a complete 255 byte eeprom in around 3.5 seconds. ( I am converting all 0 values to ascii 255 to avoid the Null termination issue which means I am only unable to access byte 255 of the micro memory which suits me very nicely. )
I deliberately set the micro up to send back a version string if 1st Rx'd byte is greater than ascii 7 with the idea this would allow people to try hyperterminal on it, but give up after a few minutes as all they get is the same version string sent back to them.

This also works really really well & you can literally drag your hand over the keyboard while using a terminal & the returns just keep coming. It just fails if you simply press 2 keys simultaneously side by side. e.g. press between the q & w keys or say the g & h keys so they both physically get pressed at the same time.

...
I might set up 2 machines linked via hyperterminal to see what happens with them when this 2key scenario is done I think.