I am almost positive that's how it's done in task manager...
Task manage may use more than 2000ms.

Are you passing the correct values to SendMessageTimeout command?

Wojka