Please be specific about which MSG instruction you are looking at.
In addition, it would be helpful to post a copy of the RSLogix 5000 program that was saved after the messages had been attempted. This means it might include error data.
There are three MSG instructions in your program.
1. Message 'msg' is in Program 'Analog', Routine 'AnalogScaling'
This MSG is unconditional so it will run only once, despite the fact that you are calling the AnalogScaling routine 49 times with a FOR instruction.
It should move the value of the tag "transfer" (value = 0) into N7:0 on the CompactLogix.
2. Message 'msg_write' is on Rung 6 of MainRoutine in MainProgram, but it is preceded by an AFI instruciton so it will not run.
3. Message 'msg_write1' is on Rung 9 of MainRoutine in MainProgram. It is triggered every 4 seconds.
That message is addressed to write the value of tag 'DIBU[0]' (value = 0) into the MicroLogix data table N20:0.
Data Table N20 does not exist in the MicroLogix ! Either create that data table or re-address the MSG instruction.
Also, I recommend setting the CIP Path to '2, 1' instead of '2, 255'. Port 2 is the CompactLogix serial port, and the MicroLogix is configured for DF1 Node 1.
I recommend specifying one data table (like N20) to use for data that's written to the MicroLogix, and another to use for data that's read from the MicroLogix. This reduces confusion when troubleshooting.
In the Serial Port configuration on the CompactLogix, I recommend selecting "No Handshake". With a 1761-CBL-PM02 cable, "Full Duplex" handshaking should work as well, but I would just choose 'No Handshaking' to match the MicroLogix configuration.
You're almost there !