C'est un problème connu. L'utilisation de SMO par rapport à .Net 4.0 n'a pas été approuvée ni annoncée par Microsoft.
Il existe une option non prise en charge pour que cela fonctionne (ajoutez ceci à votre app.config) :
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>