Casting a spell is a way to find out the current number of charges, since the BoT message when you cast corresponds to the number of myst spells used. Probably the script would choose the cheapest skill, so in a worst-case scenario (BoT already has three charges at the beginning of combat -- unlikely), you would only waste the MP of one spellcast.
Sorry, I was assuming that your script handled combat for at least the min_ml part of it. Support for the BoT would need to be in a consult script (getting the buff happens in combat), or your script would need to handle the first part of min_ml combat before passing it to run_combat().