In March 1999 I moved from 2.0.34 kernel to 2.2.1 kernel (currently 2.2.4) and now have some experience to share. http://www.linuxhq.com" greately helped to do this move and all went without problems. http://www.atnf.csiro.au/~rgooch/linux/docs/kernel-newsflash.html has latest kernels news.
First note, that 2.2.x kernels will not work with pppd-2.2.0 anymore, because 2.2.x kernels has kernel part of pppd-2.3.3. So preferable is upgrade to latest possible pppd.
2.2.x kernels don't needs recompile with updated pppd kernel part. I compiled 2.2.1 kernel sources as they was (with pppd 2.3.3 kernel part) and my patched pppd-2.3.5-2 worked well (even IPX over PPP worked without additional changes and workarounds).
At the moment here is running 2.2.4 kernel and pppd_2.3.7 (Debian's release 2.3.7-3), kernel compiled with kernel part of pppd 2.3.7. Both was compiled without any problems and works fine so far.
Only unclear thing is strange error message in syslog and ppp.log, when IPX layer goes down:
pppd: ioctl(SIOCAIFADDR, IPX_DLTITF): Invalid argument(22)
This message don't affects normal work of Linux box and appears with all kernels (2.0.30 - 2.0.34, 2.2.1, 2.2.4), and ppp daemons (2.3.5 and 2.3.7alpha) I used.