at the high level that is mircscript, yes, the code has to stop (the end of the sockread event must be reached) before mirc retriggers on *:sockread and gives you a new batch of data to handle
"The only excuse for making a useless script is that one admires it intensely" - Oscar Wilde