Bastian,
Thanks for the suggestion, it's a good idea but may not meet my requirements (my messages have timestamps, some spaced very closely together, and I'd rather have those loaded up in the queue as soon as possible rather than have to go through a handshaking process).
I ended up moving my file parsing into my sync_block and doing away with the message port since I couldn't figure out a way to have a blocking publish to the queue without modifying GR. This works but in the future I also wanted to distribute that information to other blocks, and with the current approach I'll have to duplicate the file parsing in all of those too.
-Michael