There is probably a much more professional way to do it, but I think the easiest way, for starters, would be to have all your meshes loaded by your dll and show them at the appropriate times by by changing the mesh visibility modes of each, depending on the conditions. You could even disable or enable things like engines or propellant resources via the API commands, also depending on the conditions. Look at the Orbiter API Reference Manual for usage of the functions, and be imaginative!
Someone else probably has the perfect answer, however, so afore me they go if they do offer you a better solution!
Good luck!