So technically, both of your responses are wrong. The first message says that MessageCount is 0xFC, and the second says that the MessageCount is 0x00. The only reason the second message works, is because your particular tester ignores the MessageCount field (you can put anything you want there). This is what a proper reply looks like:
87 F1 10 49 00 01 FC 00 00 00 CE
This is from a communication session with the ECUsim 2000/5100, but real ECUs respond the same way.