To my knowledge, each kernel has its own set of compiled modules. A module compiled for 2.4.29 cannot be loaded by a 2.6.7 kernel and vice versa. For this reason, you will need each kernel with the appropriate modules compiled.
On my machine, for example, the kernel modules are stored under "/lib/modules/2.6.14.6". When I initially installed Debian, it set me up with a 2.6.8.11 kernel, for which the modules exist in "/lib/modules/2.6.8-11-amd64-k8". When I made my own 2.6.14.6 kernel, I had to compile all of the modules I wanted again, because the ones in 2.6.8-11-amd64-k8 are useless to the 2.6.14.6 kernel.
Does that answer your question? I'm not entirely sure I have.