I went back and looked at it again. The kernel source was the same as the running kernel. However the kernel headers rpm was not updated. For some reason Red Hat don't seem to provide updates for this package when the kernel is updated (at least I couldn't find them).
I got around the problem by symlinking /usr/include/linux to /usr/src/linux/include/linux. However, then the installer wrongly detected that I was running Red Hat 7.3 and installed the wrong kernel module. So finally I forced it to compile the module from scratch and it worked! Now I have X and normal GL apps working nicely.
However I do get an X server crash when I run a GL4Java program when using the NVIDIA libGL.so. So I have had to go back to Mesa for the time being :-(
Anyone else had problems with GL4Java?
Cheers for the suggestion anyway.