Is this fiber-optic connection over Ethernet, or over a serial connection ?
My guess is that you are using Ethernet, and that the problem is a TCP Connection Timeout. This sort of this has been discussed here on the Forum in the past with these two popular control platforms.
When you cycle power to the MicroLogix 1400 controller, the MicroLogix necessarily initializes its TCP stack when it reboots. The ControlLogix has keeps trying to use the same TCP Connection and gets an error response every time it attempts to use the connection.
When you download a new program to the ControlLogix, all the TCP Connections that the 1756-ENBT is using are broken and a new one can be properly created to the MicroLogix 1400, so the MSG instructions can complete successfully again.
I know that manually resetting the 1756-ENBT would work, but simply allowing the TCP connection to timeout would also work.
In your ladder code, use the /ER bit to trap the error code on the MSG and see if it's specific to TCP connectivity, or if it's a general purpose 16#0204 timeout.
Also perform a test in which you leave the MicroLogix 1400 turned off for about 5 minutes. This should allow the TCP connection to time out on the ControlLogix side.
The fix for this issue may be that you need to detect an Error on the MSG instruction then suspend messaging for several minutes to allow the TCP connection to time out on the ControlLogix side.
I don't have any A-B specific information about how long the TCP timeout is on the ControlLogix side, or any way to programmatically close or cancel the TCP connection on the ControlLogix side. RA Technical Support may be able to help you with that, or you can determine this information experimentally.