SMO is currently not supported in CLR extended stored procedures. If you try to construct an extended stored proc to call SMO and install it into SQL 2005, you will get the error:
Assembly 'xxxxxxxx' references assembly 'microsoft.sqlserver.batchparser, version=18.104.22.168, culture=neutral, publickeytoken=89845dcd8080cc91.', which is not present in the current database. SQL Server attempted to locate and automatically load the referenced assembly from the same location where referring assembly came from, but that operation has failed (reason: 2(The system cannot find the file specified.)). Please load the referenced assembly into the current database and retry your request.
For which there is no workaround. Please refer to the Microsoft issue below, and add your vote to have Microsoft add this feature.