I personally prefer to do all of my development in C#, but I think that's mostly due to my comfort with the language and the RAD tools I use with it.
Since you're not going to use web interfaces, I would base my recommendation off of your deployment requirements. If your software will always be deployed on a Windows system, there's no question - .NET (either flavor). If you're going to support additional operating systems, I'd give Java a look.
Either way, coming from a VB6 background there will be a steep learning curve. Once you're past that though, it will be gravy. After I got on board with .NET (VB6/ASP 3.0 background), I was cursing myself for not learning it sooner.
If you're going into government contracting, I would push for migrating to Java.
The biggest advantage to C# over Java imho, is the shorter development time.