• 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.