The bak files are there to save you for that. there is no way we can make the mets more robust, because it's a kernel/filesystem problem if they don't flush the file.
BTW: you shouldn't care about .bak's file age - it rehashes the .part and gets back to the state of the .met deleted. So you lose not a single byte.
On a side note, .bak files are created every 10 seconds or something alike.