Error in connecting to remote MySQL server - Why?

I use a local installation of MySQL to develop my sites, and I often write small programs to manipulate the database directly. Everything works ok locally, but when I try to do the same thing in the remote MySQL installation, I get the error Unable to connect to any of the specified MySQL hosts.

Access to remote MySQL servers may be restricted for security purposes. However, MySQL Workbench, a must-have tool for anyone that is involved with MySQL, could connect to my site.

Finally, after a lot of experimentation and digging in the internet, I found that adding persist security info=false in the connection string solved the problem. The connection string in VB.NET is something like this:

sGlobalConnectionString = _
  "persist security info=false;" _
  & "server=my-server;" _
  & "port=3306;" _
  & "uid=my-username;" _
  & "pwd=my-password;" _
  & "database=my-database;" _
  & "charset=utf8;"