thenndral,
Keep in mind that when you use a side database (i.e. Database.ReadDwgFile()), you only have acces to the Database of the dwg file, you do not have access to the Editor so you cannot call commands nor LISP functions.
If you want to follow the side database route, you'll have to call a .NET method which does the same as the LISP without using selection set nor calling commands.
To write this method, don't try to convert the LISP (as you do not know LISP), just write a method wich give the same expected result.