We just found out that the defined MTU's differ, and I always heard that MTU sizes should be identical:
Unless path discovery is active on both ends of the link, the sizes should be identical. Might this be an explanation? How comes it works fine (most of the time) with apparently different MTU values? Nothing sent a packet big enough to cause one end to need fragmentation, so you got lucky. It broke when you got a very large packet that needed to be fragmented, Path MTU discovery was off, and the sending side kept trying to send and got rejected. Since you're running DRDA, that would be an easy scenario to do, since the results of queries would be different sizes.