Нет, приложение не должно напрямую взаимодействовать с базой данных MySQL. В этом типе ситуации вам нужно будет реализовать какую-то форму веб-службы, которая предоставляет ваши данные клиенту. Затем клиентский код Silverlight отправит запросы веб-службе, которая работает на сервере и имеет доступ к базе данных. Использование технологии Microsoft на сервере значительно упростит эту задачу, потому что среда IDE сделает для вас большую разводку, но я уверен, что это можно сделать и с помощью PHP.
Я бы посмотрел, как создать веб-сервис на основе PHP, REST или SOAP, и пойдем дальше.
Вот видео, объясняющее, как использовать службу после того, как вы разобрались с ней на сервере.
http://silverlight.net/learn/videos/silverlight-videos/http-communication/