The PC is running a custom server program that I developed. I've also tested the issue using netcat, a program similar to telnet but capable of acting as a server, with the same result.
The code on the controller is this:
PRINT# 4 "<TCPCONNECT 192.168.1.101:53463>"
PRINT# 4 "testing"
OUTCOMM 4, 0
OUTCOMM 4, 0
OUTCOMM 4, 0
OUTCOMM 4, 5
PRINT# 4 "hello";
What I'm doing here is sending a 4-byte integer before each message so that the receiving program knows the length of the message. The documentation for OUTCOMM says only 8 bits are sent for each call.