I realize that it's been well over a year since anybody added to this thread but I find myself in the exact same situation. It would appear that I've linked to the MySQL server properly since I'm not receiving any errors when I attempt a query but I just don't get any results from my query. The query will be 'executing' for as long as I leave it running without every returning a single record.
In my situation, I use a System DSN to connect to MySQL and I have additional linked servers to SQL Server machines that work fine.
Also, the MySQL database contains a hyphen in the name,
Were you ever able to resolve this problem?