Имеет ли смысл использовать прямое подключение к бд (mysql) с нескольких клиентов?
Вот никогда не мог понять людей, у который такие мысли возникают. Только api, иначе у вас будут проблемы с разграничением прав пользователей (ну как проблемы, просто придется все организовать нормально), расширяемостью, поддержкой... словом плюсов явных нету.
Если исполняемый код синхронно завязан на этой БД, то идея плохая. Все стремятся снизить задержки при работе с БД думаю объяснять не надо.
Если же это что-то для бекграундных процессов, не завязанных на пользователе, то конечно пожалуй лучшим решением было бы использование VPN для безопасности и скорости. API разрабатывать не вижу никакого смысла в таком случае.