Although unusual this can happen... when your host doesn't know what it's doing.
First change hosts.
Second, NEVER, EVER keep username/password combinations in your main scripts.. include() them from a file that is below the document root. That way if, as happened to you, PHP scripts fail to parse for whatever reason and get displayed as plain text, the user will only see the called file for inclusion, and won't be able to call that file directly because it is below document root.
If your host had owned up to it's mistake I wouldn't tell you to leave, but their vague answer tells me they have one of two problems:
1) they don't know why it happened
2) they do know, but don't want to admit they made a mistake