mySQL wouldn't be very usable by end (non programmer) users for the usual ad hoc queries and reports that users often do, so I assume you'd be programming the front end for a number of mySQL databases.
If the main reason for wanting to move to another db system is cost, why not just get the developer's version of Access, write your front ends in Access, and deploy them to users for free? They won't be able to modify them or use them for ad hoc stuff like they could with a full version of Access, but your mySQL users wouldn't be able to do that either. Plus, development time in Access is better than any front end you'd be using for mySQL.
If you wanted to move for reasons of stability or performance (i.e., to get true client/server setup) then it might make sense to go to mySQL. But if what's mainly driving your decision is cost, then I'd recommend just deploying runtime versions of Access with front ends that you develop yourself. (And even if stability or performance reasons were part of the mix, you could still just program front ends to MSDE - a baby version of SQL Server -- in Access and deploy the runtimes.)
You just need the developer's toolkit for MSOffice, which I think is available for not more than $400. It allows you to freely distribute as many runtimes as you want. (No, the runtimes you deploy won't be as small as the files you'd deploy with a VB/mySQL solution, but it doesn't sound like size of apps being deployed is a big issue for you either.)
-- Herb