The kernel you have isn't really the problem. The main issue is that your ISP compiled the driver using an ancient version of GCC. The current gcc version is 4.x, and your ISP used 2.x... They need to get with the times... Your options?
Try to recompile your kernel using an older 2.x version of gcc. This may make your kernel a little larger and slower, but it should work, and may enable you to use the driver from your ISP.
The second option would be to download the latest version of ndiswrapper, and download the windows ndis drivers for the device. It may be possible to make your modem work using windows drivers under linux. It may be worth a try.