So, after i clicked "send", the GUI waited too long. Finally it said "sent". Then i checked blocks tab and found wrong recent blocks number, unconfirmed transactions and other signs of freezed java process. I instantly logged into the server and found several exceptions (not related to timeout) in the log. Few minutes later daemon died by not enough memory exception.
Instead of that useless CRC checks, it's better first to implement an additional check that the process itself is heathly and can be used to transfer money. Right, just few integrity checks before NXT transfer execution. It's Java. It's cross-platform. It's terrible and not really your friend.
Do you keep the log with those exceptions? Please post it here or send it to me.
What version were you running?
Were you logged in at one account only at the time, or had several browser windows open? Were any other account mining in the background (if you closed their tabs without clicking the unlock icon first)? Any other relevant detail?
Checksums will not help with this type of bug. Very likely the account to which the transaction was wrongly sent will also have passed the checksum.