Instead of using a self switch, have you tried using a regular switch ?
Okay I've got a shaky set up of what you could try, I'm not to sure if this can all be done in base RMXP
so, browsing through the third page fo events, I've found Force Action, it looks like you can force an enemy to attack a player(designated by the players index) I Have no idea how to record a players index at a given time, since you can't really set a variable to a players index,
To check if an enemies been damaged, you can simply set a variable to its max health and one to current health, then always check if the current health is less than its max health (if it is, then you can know for sure that its been damaged) crud i think youve managed that
To figure out if a player has been attacking, the only real solution i can think of is to inflict a character with an abitrary priority state prior to attacking then checking once hte damage has been done which character has the state, dealing damage to them, then removing the state.
You could always just have the miniboss punish all the characters in the party by hitting all of them with an attack
I hope something of what i said made some sense, This intrigues me, so I'll defintly put some thought into this and get back to you :3 Good luck