I don't know of any RTU transaction that would crash it. Doesn't mean it can't happen though. The error you showed is definitely garbage data, but that shouldn't be a problem at the RTU level.
The TCP failure is actually not related the Modbus request itself, it's that the TCP header length was not being validated, and when an client sends a request that is longer than permitted by the protocol, it can cause a buffer overrun. It only affected Modbus/TCP, not RTU.
Are the Ethernet ports connected to a higher level network? If so, is it possible that there is some rogue data getting on that? It really is impossible to test for every possible network condition, since network content is constantly changing. We don't know of anything that might crash it (other than the Modbus thing) but we're always listening for new things that might show up.
As for debugging, yes. The contents of DST400-409 can be helpful following a reboot. It's a push down stack of the last 5 power cycles, so the regs get lost over time.