The reason why I'm saying that the byte is received at the same time is because I tested my program with a loopback device. To be more precise I put a wire between the RxD and TxD pin of the com port. This is why I'm saying that the byte sent is received at the same time. The reason of using 5 bps is for a slow initialization of the communication between the scantool and the ECU. It's part of the ISO9141 protocol which I'm not familiar with it. I know that the ECU should reply with a sync byte (0x55) and after the speed has to be changed from 5 bps to 10400 bps. I do agree with you that my program seems to be working as intended but my problem is really the 10 seconds delay. I really don't understand it and I think this will be an issue as I go futher in my project since there will be a delay of 8 seconds (10 seconds - 2 seconds for sending the byte) between the time the ECU sends the sync byte and the time I will receive it.

thanks for your reply!