Bom, utilizar o banco de dados como middleware “puro” nunca é legal, as vezes é necessário [ou pior: é legado!!!], mas legal nunca é.
Você poderia utilizar um banco leve, tipo hsqldb, para fazer cache deste banco matriz nos clientes, mas se sua aplicação precisar de updates frequentes, o ideal é que ambos os clietnes trabalhem na mesma base, se não você vai se perder em controle de concorrência [hajam Observers!!].
Acho que a primeira coisa é definir qual tipo de clientes você precisa. Se precisar de coisas que HTML não te oferece, e creio que só nestes raros casos [comunicação com serial, etc.], você deveria largar uma estrutura web-based, utilizando browsers.
Se não puder fazer algo assim, por que não colocar sua camada de lógica de negócios em um servidor remoto e deixar só a apresentação no cliente? Os cliente se conectam, enviam dados e recebem resposta. Conheço gente que implementou um ERP terceirizado com EJB num Oracle AS em Santa Catarina, tem cliente pelo país todo conectando via ADSL ou linha discada, utilizando um front-end gráfico em Delphi. O troço até que funciona legalzinho… Você poderia tentar algo na linha utilizando algo mais leve, talvez conexões em HTTP/HTTPS com um Servlet “Façade”, antes que alguém me xingue por falar em EJB aqui 
PS:
ô, cv, qual a birra com o MySQL :?: :!: :?: :!: :?: :!: