Bad message ids are just ignored (as are any other unexpected fields). I think this was an intentional design choice (be liberal in what one accepts and all). There's a specific test for ignoring the message id because using a message id passed in from outside would be a security hole.