The code generated by newer versions of gcc isn't necessarily better than that for previous versions - even if the same machine definitions can be used.
The code for x86 and ppc (maybe sparc and arm) might be slightly better, but everything else might be problematic. For instance going from (IIRC) 4.1 to 4.5 increased the code size for m68k by a factor of 1.5 and generated illegal code!
You might find that the existing nios2 files can be dropped directly into a later gcc build - there are no significant differences between the altera supplied nios2 files for the existing gcc3 and gcc4 builds.