Recently Yast downloaded an updated Athlon optimised kernel and I was presented with the same problems as you have experienced when it came to reinstalling the drivers. I haven't found a permanent solution but this information will help.
The kernel sources from the suse site are correct, despite what the NVIDIA installer reports. The sources are processor generic and the processor specific part only comes in at compile time. Basically (after a lot of messing and investigating) this is what I did:-
Run the nvidia installer but add --kernel-name=2.4.20-4GB-athlon to the command line. This forces the installer to just build a nvidia.o (driver module) without trying to load it. Normally it will try to load it, find an error message and delete it.
The problem is, the installer (and the xserver AFAIK) uses "modprobe nvidia" to load the module. This checks the currently running kernel version with the version used to compile the driver module. Since these aren't the same it throws an error.
The way round this is to use "insmod -f nvidia" which forces the module to be loaded, regardless of the differences in kernel versions. After forcing the installer to build a driver, u can issue the insmod command and then init 5 to go back to the xserver. This is the stage I am at now. The next problem is making the xserver load the nvidia driver the same way, or by loading it as part of the boot sequence.
When I find a proper solution I'll post back here. Chances are, it's not going to be pretty. In the mean time, you can use the k_deflt kernels (binary rpms) from the link given above. The nvidia installer should install correctly with these. Ideally, NVIDIA could pre-build a kernel interface for the optimised athlon kernel and put it on their ftp site for the installer to fetch. This would solve everyone's problems.