The nvidia .run installer simply replaces some system libs with its own copies, which works but isn’t really healthy from a distribution POV, simply because when the packages that ship those libs are updated things are bound to go wrong.
Most distros that ship the nvidia nonfree driver employ ways to make it work without replacing system libs; for example in Mandriva and Mageia they employ the alternatives system to load the libs from the nonfree nvidia driver; in Fedora, the nvidia packages from the rpmfusion repos ship /etc/ld.so.conf.d/nvidia-lib64.conf in xorg-x11-drv-nvidia-libs (and /etc/ld.so.conf.d/nvidia-lib.conf in the i686 package) which make /usr/lib64/nvidia/ precede /usr/lib64/ so /usr/lib64/nvidia/libGL.so.1 is preferred over /usr/lib64/libGL.so.1.
On my system:
ldconfig -p | grep libGL.so
libGL.so.1 (libc6,x86-64) => /usr/lib64/nvidia/libGL.so.1
libGL.so.1 (libc6,x86-64) => /lib64/libGL.so.1
the nvidia rpm packages execute ldconfig from an rpm post-install script; somehow this didn’t work on your system, maybe when you upgraded the nvidia pacakges.
I think executing ldconfig as root should fix things on your system without having to uninstall those mesa* packages.