Yes, that would be the purpose. As to what drives what depends on how the program is done, both are equally possible. Simply put querying a value always returns the current value because that's what is stored inside the system and likewise setting a value always sets the current value. So if the simulation is running and you query a value it will represent the value currently in the simulations state, the other way around it would imply that a simulation would react to that value (but only if the values is not subsequently overridden by the simulation).
If on the other hand a value changes and the COM program is not querying it then it wont know a change has happened, much like python. This said, you can however instruct both python and com to listen to events and get a notification when things have changed, thus your program can know to query a value again on change.
But we are veering of from the topic of the original post. Just because COM can do many of the same things python does does not mean you will want them to do the same things. For one python is contained in a way that makes it much safer to use, in COM you can crash things very hard with your code. Also python is partially safe for something that is in a way a multithreading environment. Whereas your com program does not have these safeguards, you need to account for this yourself.