Hmm, depmod -a didn't solve the problem. I did some fiddling though. First I removed all the old out-of-use linux header files/images, and there seemed to have been another old speakup module in the 2.6.35-24-generic kernel, which may have been the problem, not sure. That still didn't solve the problem, so I removed all the speakup files in /lib/modules/2.6.35-25-generic/updates/dkms/, and rebuilt speakup. And voila, it works! Only thing is, the speakup .co files are now in /lib/modules/2.6.35-25-generic/extra/speakup instead of their old location at /lib/modules/2.6.35-25-generic/updates/dkms/. It doesn't seem to be a problem, as I can now load the modules, and they load on startup as before, but I don't know.