This is fixed now. Really weird bug. The word wrap regex was supposed to match \S{50} (50 non-white-space characters), but it seemed to be triggering when it shouldn't. When I flipped it to [^\s]{50}, which is logically identical, it worked correctly.
Also, the reason I couldn't reproduce it was because I was mostly doing tests on my local forum, and it didn't happen there, so it looks like it may be a PCRE bug.