I converted from 2.2 on Amiga to 3.0 bpl 11 on Cygwin, then to 3.0 bpl 17 CWG Buddha, then to 3.1, and finally to tbaMUD 2020 on Linux (Pi for testing and Debian on AWS for production), and each time it took a lot of work. I believe between 2.x and 3.x there were big changes to send_to_char() and other frequently used functions and structures. Then, when going to the tbaMUD codebase, there were lots of new features (protocol, user menus, olc, changes to world and help files) that made updating a pain. Another big change is away from bitvectors and to ascii pfiles. This can rock your players' world.
For me, the best approach was starting with the new codebase and importing differences from the old base one-by-one until I got a good final product. In some cases, the old features had been superceded by new additions to the base code that made "converting" unecessary. In all cases, the conversion took time. Are you on a specific timeline? Rumble's question about the modifications from the old stock code is important.
How invested in this are you -- how much time are you willing to invest and how much are you willing to spend? If you have some C knowledge yourself, you can take the approach I mentioned above and start making changes to the new codebase to bring it closer to your own until you find a sweet spot. I might be willing to help you depending on what kind of MUD you're running and how active your players are. Can you post a link/address?