I ran into this a while ago when making a new gorge res stealing plugin for ns, the old one checked the current weapon id and if edict_t->v.button had IN_ATTACK then did whatever it needed to do.
My goal was to use something more reliable, what I did was hook pfnPrecacheEvent and stored the id for "events/healspray.sc".
Then, I hooked pfnPlaybackEvent and checked the event id against the one i stored. If they matched then you could be sure the weapon was actually fired.
I don't know if it works the same way in DMC but it should, good luck with your bot though