Ok, it took me awhile, but I think I finally figured out the issue. It's not a bug, the programming is functioning as intended. It's as I guessed, the older save file was lacking some initialization data.
Sammy is special and is the only hero that starts with dual wielding weapons. There is code that tracks this in newer versions so the player can change that setting for all heroes once reborn at level 99. Without the trackers initialized, his class was getting reset to the wrong version that has a different experience curve, thus massively boosting his experience level when the code tries to reset hero statistics.
I have uploaded a new version of your save02.lsd file replacing it on your drive that should have the necessary changes to the tracking variables so everything should work correctly. Or you can just continue playing and don't interact with this particular recruitable NPC (Master Miyagi) until every party member is level 99, and then the issue would be irrelevant.
Let me know if the save file update doesn't work and I can upload a version to my own drive.
