Well, we did solve the problem by making TakeSnapshot() return a string of hexadecimal values due to time constraints -- it's an intranet site so I'm not so concerned about the size of the payload.
The answer to the problem almost definitely lies in the ECMAScript Language Specification:
A 'LineTerminator' character cannot appear in a string literal, even if preceded by a backslash . The correct way to cause a line terminator character to be part of the string value of a string literal is to use an escape sequence such as \n or \u000A.
It is very likely that the resultant string contained one of these values.
To try to make this answer more specifically useful to the maybe 1 or 2 other people that have this problem: We were using this AS2 Bitmap Exporter library originally developed at andculture.com; using the Unicode options caused the issue when communicating with JavaScript. Switch to the HexCodes option or upgrade to AS3 (presumably, like us, that isn't an option).