Este es un problema conocido. Microsoft no ha aprobado ni anunciado el uso de SMO contra .Net 4.0.
Hay una opción no admitida para que esto funcione (agregue esto a su app.config):
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>