So, thanks to the friendly folks over at the Freelancer Galactic Community discord channel, I found the exact cause for this problem:
Go to Freelancer\DATA\UNIVERSE\SYSTEMS\ST01\st01.ini, search for [Object], and lookat the line that says: “nickname = St01_01_Base”
Delete “_Base” from that, and you’ll be left with: “nickname = St01_01”.
That’s it, the mission will now work properly.
Why is this the solution? Because if you’ll look into Freelancer\DATA\MISSIONS\M12\m12.ini, you’ll find a reference to St01_01 in the mission triggers for Von Claussen’s dialogue after defeating the Nomad ships, and in the trigger to actually land on Toledo. Previously, it referenced a nickname that didn’t exist, so naturally the mission script encountered an error, and froze.
So there you have it, that was the problem, and mentioned above is the solution.
I hope that helped.