Take a look in the rc.modules file when you put the entry for you sound card in. Look for something along the lines of one of the following
If either of those two are present and has no
comment out character ( the hash mark, '#', you'll see it all over the file) in front of them then put one in. This will stop the startup script from trying to load the modules.
I don't think this is the problem though. Take a look at the startup messages and look for a line there which says
Updating module dependencies for Linux 2.4.20:
Is the message about kmod appearing before, or after this message?
I have a feeling that what is happening is that there was something such as the umsdos module being loaded by the startup scripts. Now with the stock kernel that came with the distro, vfat may of been loaded as a module unlike your new recompiled kernel where it is compiled in. Now there is one of two things happening.
Either kmod is being asked to load a module which *depends* on the vfat one being loaded.
Or a module which depends on vfat is being loaded in the startup scripts.
Neither of these seem very correct since I thought the kernel was relatively clever and would know that vfat is already there and so shouldn't need to load anymodules for it.
hmmmm, have to think on this one. Maybe someone else will know better than me.
P.S. sorry if that was a meandering diatribe but it helps me think and may help someone else with there thoughts on the matter.....
P.S.S. Oh, just a thought, did you copy the System.map file into /boot when you were installing the new kernel?