C++ will probably be the easiest, since most C++ constructs have a Delphi equivalent and I don't think Delphi is missing any features that will require a large workaround.
I have ported a lot of C++ code (several small applications and one really
huge complicated one) to Delphi and it wasn't hard at all.
The C++ and Delphi standard libraries (I don't know if Delphi calls it that, but whatever) are very similar (Delphi has a larger one, if anything), and I don't remember encountering anything in C++ that Delphi didn't have or that didn't directly translate to Delphi. Delphi also has the
Ansi* functions for use with C strings. C#'s standard library (again, may be incorrect term) and the .NET stuff doesn't have such a correlation to Delphi's, and I would imagine Java is the same.
I would also imagine that people who have programmed in C++ are more likely to have programmed in Delphi at some point than people who major in C# or Java, which means you might get more help porting from C++ than the other two. That is pure speculation and my opinion though.
The only problems I can think of would be multiple inheritance which Delphi does not support (but you can use interfaces instead to make it less drastic of a change) and templates, for which Delphi doesn't have that great support (it supports it mostly, but you're only allowed to have templates inside classes (not free template functions like C++) and you can't use templates to make a function return the parameterized type), (thanks elder_george).
Also, Delphi only supports operator overloading for records IIRC, so you'd have to change those into named functions.