Make sure you have read the legal bit on my home page.
mahoutsukaisamahatatarutokorodesu. "The wizard is just about to cast a spell."
mahoutsukaisamahatatateirutokorodesu. "The wizard is casting a spell (as I speak)."
mahoutsukaisamahatatatatokorodesu. "The wizard has just cast a spell."
The first pattern is supposedly used only for things which will definitely occur (apparently the Japanese have not caught up with Western standards of dishonesty). The second pattern is not used for unintentional acts (whether or not this would include Sabrina undressing unwillingly in response to a binding spell is not clear).
tokoro is a noun, and combines as such.
mahoutsukaisamahatatatatokoronanodesaburinasangaodorimasu. "Since the wizard has just cast a spell, Sabrina is dancing."
mahoutsukaisamahatatatabakaridesu. "The wizard has just cast a spell."
mahoutsukaisamahatatatabakarinanodesaburinasangaodorimasu. "Since the wizard has just cast a spell, Sabrina is dancing."
There is no real difference between the third (past tense) use of tokoro and bakari. It seems that in practice bakari is preferred with nanode, which gives explanations, and tokoro is preferred otherwise, but using one or the other for both patterns is not wrong.
Also, bakari is preferred when the shortness of time is relative. Consider the following example.
saburinasanhaatorantisunikitabakaridesu "Sabrina has only just come to Atlantis".
Assuming Sabrina came last week, this is not true in the absolute sense, so tokoro should not be used. But it may be true in a relative sense, if talking about the history of Atlantis (which has been around for centuries) or trying to pick up its quaint local customs (which can take years), so bakari could be used in such contexts.