Never mind. It turns out the timeout value only works if it's supported by urllib2. They didn't add that support until Python 2.6 and I'm running on Python 2.4.
I found something that said that on Python 2.4 you could set the socket default timeout like this;
import socket
socket.setdefaulttimeout(value)
I tried that but it didn't work either. Sigh….