I did one of these recently:
Version 6.0 to Version 7.50
then version 7.5 to version 9.0
then version 9.0 to GP2010
then GP2010 to GP2013
The main issue was the SQL platforms. I had SQL Server 7.0 to start with.
So;
upgraded to version 7.50 on SQL2000
upgraded to version 9.0 on SQL2000
upgraded to GP2010 on SQL2005
upgraded to GP2013 on SQL2008R2
In our case, we had several virtual servers setup up and moved (backed-up and restored) the data backups from one virtual server to another, so we had the right environment (server o/s and SQL version) at each stage.
There are different steps you can take in the process, but this was the approach we decided to use.