Re your Serial2.dll loading probllem, I think you may have a Framework version problem. I believe that your device will have .NET 1.0 in ROM and that .NET 2.0 has been installed as well.
Dbasic.exe, v5.8 compiled exes and v6.05 legacy compiled exes are all .NET 1.0 apps and will preferentially run under 1.0 even if 2.0 is available. If .NET 1.0 is not available then they will automatically run under 2.0 without problem.
If an app wants to run with a .NET 2.0 library AND both Framework versions are present then an appname.exe.config file is required to be in the same folder as the compiled app to force .NET 2.0 operation. Dbasic produces this automatically. I suspect your problem is that you have legacy compiled your app under v6.05 and have not copied this config file to the device.
If an app wants to run with a .NET 2.0 library and only Framework version 1.0 is present then the app will not run.
If an app wants to run with a .NET 2.0 library and only Framework version 2.0 is present then the app will run fine without a config file.
Optimised compiled v6.05 exes are .NET 2.0 exes and will only run under .NET 2.0. They do not need a config file. If you optimise compile under v6.05 then I would expect your app to work fine.
This also applies to desktop exes. Dbasic installation comes with a dbasic.exe.config file so that Dbasic.exe runs under .NET 2.0 if it is present even if .NET 1.0 or 1.1 is present on the desktop.
A little more information here
http://www.basic4ppc.com/netcf2.html