Based on what I am seeing, it appears that MZ might not be seeing the Tool Event (this._character when assigned to this._eventTool[1]) as an actual event on the map. I am not sure if there will be issues down the line since the "target" and the "tool" tend to occur in the same vicinity/area, there won't be much (if any at all) of a difference to go directly to the target rather than the tool.
Also, the 212 command tool seems to only affected by when you use the command "Show Animation" - this means all other .requestAnimation() functions in Chrono Engine are probably still based on the format
character.requestAnimation() where the character is tied to the start of the function and not the MZ format
$gameTemp.requestAnimation([character]...) where the character is an array parameter inside a game temp.
The closest variation from the Tool Event to reference a character inside the command 212 function from Chrono Engine would be:
JavaScript:this._character._tool.target
What is interesting is that this._character._tool by itself yields the object containing everything, including the target. But if you were to reference the target directly as shown above, it returns null.
I delayed the code with a setTimeout() by at least 1ms and it was able to obtain the target and work, but no longer "targets" the tool; it targets the enemy event (which is okay, there are plenty of workarounds with offsets, etc to make it work, and most the time, the tool will be on or near the target anyways).
In any case, just a few things to consider when doing animations - most people will do "show animation" on this event (referring to the tool) or use the comment
tool_animation_id : # to show the animation on the tool.