работает ниже. Я просто переместил стиль из MergedDictionaries и поместил его во внешний ResourceDictionary.
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Dictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style TargetType="Button" BasedOn="{StaticResource BaseButtonStyle}">
<Setter Property="Foreground" Value="Red"/>
</Style>
</ResourceDictionary>
</Window.Resources>
В вашем исходном XAML я не уверен, почему дизайнер смог правильно его отобразить, а среда выполнения WPF - нет. Документация MSDN гласит, что:
Объединенный ResourceDictionary не имеет элементов ресурсов, определенных в нем в разметке. Вместо этого объединенный словарь представляет собой ResourceDictionary без определенных дочерних элементов разметки (или без добавления элементов через код), но с URI, указанным для Source.
Возможно, это как-то связано.