Если доступен .NET 3.0 - то без раздумий выбирайте WCF:
+ более высокая скорость работы;
+ гибкость соединения, есть уже десятки готовых типов байндинга на все случаи жизни (от http/tcp до json и т.п.), возможность разработать свои;
+ гибкость настройки, особенно это касается вопросов безопасности соединения.
Конечно, Silverlight 2 несколько ограниченно реализует потенциал WCF (к примеру, доступен только BasicHttpBinding для веб-сервисов), но тем не менее уже сейчас можно использовать duplex-соединения (удобно, когда нужно не только по запросу клиента передавать на него данные, но и в случае апдейта данных на сервере автоматически обновлять данные у всех подключенных клиентов), строить peer-to-peer сети и многое другое, что невозможно для ASMX. Ну и опять же - вы ничего не теряете :-).