Hi,
I believe that the web service timeout only works if there is no reply from the web service.
According to the Mendix: "Can be used to throw an exception when the web service takes too long to respond after connecting."
So when you receive some sort of respond message (keep alive) in the mean time, it will not work.
Can you trace the web service node to see what happens?
Perhaps the otherside can remove the keep alive messages?