Well, DLL's are pretty safe. If you have a DLL that exports functions, and all the parameters/return values are standard types (int, float, char*), or structs/arrays of simple types like that, it should work in practically any other language.
Of course, that doesn't let you actually export classes, just individual functions.
If you can compile to OBJ files, Delphi is perfectly happy to link into those for external functions, so that works too (if you want to avoid having separate DLLs). I don't know how many other compilers will use OBJ files, but I'd expect some would.
For exporting actual classes ... not so easy. Interestingly, Delphi can export C++ compatible class objects, but I don't know whether it can go the other way and import external classes. For that sort of thing, COM might be the best bet; most Windows languages support COM one way or another.