I'm using the Multisim API with python, and finding it to be a bit awkward. Here are the issues:
1) I've found I need to poll on OutputReady() to wait for data. I was not succesful in getting WaitForNextOutput() to work.
2) I have had to add short delays (0.5 sec) between simulations to improve stability, even so, I come across times where there are failures, I've found adding a longer delay (3 sec) allows the simulator to "recover". I'm running DoACSweep and changing resistor values between runs. This feels very hacky.
3) I have had to use low level COM to set new Resistor values. It would be nice if there was a method SetRLCValue, rather than just the property. You can see my recent post for details on this issue.