Agree. Someone should add this into client. Everything that can be done on client side shouldn't be implemented in core.
And what if one of the nodes gets messed up? Like it probably did in my case? Memory leak, corrupted memory, HDD failure, whatever.
With checksum, other nodes will reject transaction, even the node itself can self-verify this way.
It's also unreasonable to expect this check to be willingly implemented in every client - this must be a requirement on the very basic protocol level.
Adding 1-4 bytes won't hurt much.