.NET.

Seriously, eVB is the only option prior to .NET, and it was a pretty poor option. eVB used VB Script rather than true VB, and that was not just a little worse. Many features were missing, and many were poorly implemented. For one thing, everything was a variant. You could call things longs, strings, doubles, etc., but they weren't. They were all variants, and there was no type checking going on.

With the .NET CF, you actually have a real language that runs well. If you will be working with a database, you have SQL Server CE, with a full suite of ADO.NET functionality to work with it. This means that working with a database in the .NET CF is pretty doggone good, whereas it was marginal with Pocket Access (which may not exist anymore) and eVB.

There are some limitations to .NET CF, but the biggest one for you might be that you have a VB6 program you are trying to port. Since you almost certainly will have to re-write the interface, moving to .NET may not make that much of a difference, but it would mean a new language. On the other hand, VB Script will mean a newly diluted language anyways.