I know this makes little to no sense, but I too had the exact code working on a .Net app and it too studdenly stopped working.
One simple line fixed it, reasons unknown, just try this....
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout", 60)
The default value for smtp connection timeout is 30 seconds. I just beefed up that part. I guess 30 seconds wasn't enough for all SMTP connection (incl. name resolution, user authentication, etc. ).
Hope this helps,
Brian
brian.pressman@iko.com