Most likely the controller is looking for end of program or end of transmission characters. I know from our experience you need to also throw in about 100 nulls at the end of the transmission. You can do this thru your DNC program or maybe look at one of products if you can't do it. It would tedious to add this to each program you need to DNC.
Also, not sure what type of hardware is used to communicate (builtin serial card, 3rd party add on, USB) but make sure FIFO is set correctly. This will burn you each and every time.
Greg Mercurio -Shop Floor Automations
www.shopfloorautomations.com /619-461-4000