The behavior is the same regardless of how much MP the player has.
I quickly checked what's going on. The buffCount calculations were all made correctly. In UseSkillRequest.java, mafia checked if this skill needed MP. When SkillDatabase.isNonMpCostSkill( skillId ) came back with true, it just called run in GenericRequest. That made a single post to the server, but it did not pass the buff count, only the skill id and target player. So the skill was cast once and the count was silently ignored.
I haven't tested it with any other 0 MP skill (not even sure which are the other ones), but I would guess all of them suffer from the same problem: the skill is only cast once. To do multiple casts, the player has to issue the same CLI command repeatedly or do it from the browser.