Yeah, uninstall the NVIDIA_kernel RPM, it'll only work under that version of the kernel. The driver is a kernel module like everything else (for example, your sound card driver), so it needs to change with every kernel version.
You say you rebuilt the srpm under the kernel you run, but did you then install the resulting .rpm file? I don't think so, since the old nvidia.o still exists. You will probably have to remove the old package first to be able to install the new one, though. rpm -e --nodeps NVIDIA_kernel should work -- note that normally, --nodeps is NOT a good idea, as it bypasses all the dependency checking. But in this case, the dependency will get filled by the new version you're going to install, so it should be OK. Note that the path to the built RPM should have been printed during the build process, but if you don't remember (or didn't see it), you can just --rebuild the .srpm file again.
If in doubt, rpm -e NVIDIA_GLX first, and rpm -ivh it again when you're done.