[link|http://www.borland.com/kylix/|Kylix 2] -- the most NON-restrictive "3-1/2 GL" there is.
(Apart from its Windows sibling, Delphi, and C++ Builder -- which is out of the running because the language is way too convoluted (and because it isn't available on Linux (yet)).)
Once you get the data back-end into (some semblance of) order, build a (bunch of) half-done Data Module(s) and store it (them) in your Object Repository for everyone to inherit and specialize from. That way, you can make sure there aren't any *too* gigantic fuck-ups.
The Object Pascal language is simple, clear, and elegant -- they pretty much can't fuck up without it becoming immediately obvious; and who doesn't know, or can pretty rapidly learn, Pascal? (This is why it's a *good* thing that the language was originally designed as a teaching aid.)
Oh, and remember: Data Modules are just components; you can define new methods, fields, _and properties_ (automagic setter/getter calls that look just like a field access to the user-coder) on them that are inherited just like in any other component.
Oh sure, I'm our "Official Delphi Zealot"... But I *honestly* can't see how this wouldn't be the best thing someone in your situation could pick.