I am running out of ideas on this. The Wireshark captures are showing the correct FINS request going to the controller and the controller even acknowledges that it received it, but never responds with data. The only controller I have that supports FINS/TCP is the CP1H, so I am unable to test with the same hardware.
Do you have any other software such as an OPC server that you can use to read D0 and do a WireShark capture? From that I can see how the packets compare. I was looking at the Kepware OPC server, but it shows that it only support UDP and not TCP.
One more things to try. In the OmronEthernetFINSCom1 driver properties, set the TargetNoteAddress to 11, which is the last byte of the PLCs IP Address. I remember having to do something like that on a CS1 controller.