Hi Jon, I cannot help with the stability or bugs, but I will try to point this to someone who can.
Regarding threading, the only thing you can do is split profiles, if they run too long into multiple ones - one profile = one thread. As the "source" is taken from the "connection", you can have several profiles monitoring the same instance without a problem and achieve parallelism this way.
I am not sure if I understand your issue with "maintenance schedule" correctly, but I will try. There are two call-backs in the probe "suspend_profile" and "resume_profile", you can use them to stop and restart monitoring by profile name, without influencing the other profiles. You can e.g. use the pu.exe utility in a backup script to achieve that:
pu -u <uid) -p <password> /domain/hub/robot/sqlserver suspend_profile <profile name>
your backup script...
pu -u <uid) -p <password> /domain/hub/robot/sqlserver resume_profile <profile name>
Or you can stop the whole probe:
pu -u <uid) -p <password> /domain/hub/robot/controller probe_deactivate sqlserver 0 1
pu -u <uid) -p <password> /domain/hub/robot/controller probe_activate sqlserver
Always use "probe_deactivate", if you use "probe_stop" the controller will immediately restart the probe, which is not what you want here.
I hope I could help at least a little.
-richard