Проблема в том, что при создании начальных dll Xaml в проекте добавляется в качестве ресурса в dll. Код, сгенерированный для загрузки этого xaml, будет выглядеть примерно так: -
System.Windows.Application.LoadComponent(this, new System.Uri("/SilverlightLibrary1;component/MyControl.xaml", System.UriKind.Relative));
Обратите внимание, что имя dll является частью Uri, необходимой для получения xaml. Я сомневаюсь, что IlMerge может обнаружить это и исправить это. Следовательно, после объединения Uris не может быть найден.
Разрешение для этого, вероятно, уродливее, чем множественные ссылки или просто создание другого проекта, который связывает все задействованные файлы кода.