Now for the real question: Is there a maximum length for the size of a string that can be sent through an ROS message? I have noticed that there seems to be a limit of about 475 characters after which it causes a buffer overflow (we have observed ROS completely crashing when a string of 476 characters is sent but not when 475 are sent).

I don't know anything about rosjava, but I just tested roscpp in both 1.0 and 1.1 with string lengths in the tens of thousands without any problem.  roscpp in 1.0 can crash if it receives a malformed serialized message, which may be what's happening -- do you have a callstack?  What nodes are communicating?  rosjava <-> roscpp?

Josh