Mike,
Yes, you can allow non-local access to your MySQL databases. You have to configure your user permissions to allow non-local access. The best security is, as many people will tell you, strong passwords. You can also set up your user to only have limited features if non-local, such as select only, you can also limit which d-bases, tables, and fields the non-local users have access to. Security possibilities are limitless.
Definate No No's:
1. Anonymous full permissions from the outside
2. A user name with full outside permissions and no password.
Not as bad, but still not good:
3. A user name with full outside permissions, and cleartext passwd in script
4. Easy usr/passwd combinations.
Remember, anytime you have any permissions from the outside, it can be a liability. Limit those outside permissions as much as possible. If possible assign each location, perhaps even usr, its own usr/passwd, disgruntled ex-employess can be quite damaging. It is far easier telling one place to change usr/passwd than 50. Host your own MySQL server if at all possible, if your not already, that way you can keep a tight lid on those things. A hosting company might be unwilling to accommodate what you need to keep your data as secure as possible, or charge you an arm and a leg for it.
Charles