It's probably just the flushing behavior. Looking into the source code of ARP, it does not modify the file descriptor for STDOUT at all, so it's not that ARP is specifically doing something here.
My guess would be that the terminal sets the file descriptor to _IOLBF, which means the OS will buffer writes line by line and print out as soon as a new line was printed.
The pipes used by TProcess are afaik non configured so it depends on the OS how they are setup, but I'd assume that it's either _IOFBF, which buffers all writes until a flush comes or BUFSIZ, which buffers to a certain threshold (256 characters at least), before flushing.