Actually, I think the problem is how you are interpreting the incoming bytes on the PC side.
They are not supposed to be printable or viewable; they are binary.
The better way to send the lookuptable is as an array of bytes.
Serial.write(buf, len) or specifically,
Serial.write(lookupTable, 256);
This also will appear to be unprintable box characters; That is proper.
When your VB code is expecting a lookuptable it should read, not a string, but an array of bytes 256 long.
It should read them right into the array of 256 chars.
This link might help.
http://snipplr.com/view/2012/
Keep us posted!