From a compatibility perspective:
The database itself is trivial to upgrade. The only potential compatibility issues with the db are when you change operating systems - if you move from "big iron" (Sun, HP, IBM) to Intel (Linux or Windows) the byte order is different so you cannot simply copy the db. You must dump & re-load.
The application code will occasionally need some changes. The most common issue is that a new keyword may have been added to the language and you might have to change a variable name in the code or something along those lines. Once in a great while a bug fix might mean that you have to fix some code that you didn't know was broken
Stuff like that. But 99.44% of the time the code will just recompile without any issues.
Beyond compatibility issues an upgrade cannot, by itself, magically cause your old v6 code to suddenly become a fancy .NET GUI application. Nor will it convert your old "everything is in the schema area" database into a well designed type 2 storage areas db. That all takes work. But as a first step getting to a modern release level makes it a whole lot easier to execute that project.