As far as I'm aware, MySQL server logins / passwords are always sent encrypted using some challenge/response - but I don't think it's secure against man-in-the-middle (I could be wrong about either of these things).
Either way, the queries and results are sent in the clear for maximum performance. Using SSL for MySQL will encrypt everything.
"Different domains" is a strange term to describe the network between the machines. Is the network trusted or non-trusted?
By the network being trusted, I mean, do you trust the network not to contain intruders who can sniff your traffic, take over IPs etc.
Presumably if you use SSL for MySQL, it requires a trusted certificate to be on the server, and the client needs to know that certificate.
By "Flawed", I meant that if your application is vulnerable, it doesn't matter how secure the client-server connection is, it can be broken. SQL injection vulnerabilities are quite common in PHP apps.
Mark