Ваш вопрос очень обширный, и, на мой взгляд, на него нельзя ответить, не зная, что вы хотите сделать, или сценарий может быть.
По сути, есть одно важное различие между упомянутыми технологиями: ASP.NET и ASP.NET MVC являются технологиями на стороне сервера, в то время как приложения Silverlight и HTML5 работают в клиентской системе.
Это означает, что вы должны решить, является ли серверное приложение лучше, потому что, например, вы обрабатываете много серверных данных, которые рассчитываются на простой результат, который передается клиенту, или если вы хотите использовать клиентское приложение, которое обычно может иметь более сложный пользовательский интерфейс, который пользователь может легко использовать без необходимости передачи данных с помощью AJAX , постбэки и т. д.
Конечно, вы должны думать и о безопасности. Чем больше кода выполняется на стороне клиента, тем больше способов атаковать код. Конечно, есть примеры серверных приложений, которые разработаны очень небезопасно, но это еще один момент.
Я бы предложил вам прежде всего подумать о результате, которого вы хотите достичь, а затем подумать о технологии, которая отвечает вашим потребностям.