I like it in principle. I think it would be substantially improved if the Argument field was replaced with Arg1-4, a per-argument description added, and a new "static" type added. This would set the 4 arguments passed to the script. Static would not appear in the menu, but instead pass a constant value supplied in VOTEDEF, so that one script may easilly handle multiple, similar vote types. Ex.:
Arg1 "" Static 42
Arg2 "Target" Player
Arg3 "Points" Int (0,999,50,1,100,10)
Description "Apply 50DKP Minus"
Also, where is the menu default value? I suggest wrapping MenuRange and MenuStep into the Arg fields as shown above, along with a default value:
Arg# MenuDescription Type (Min, Max, MenuDefault, MenuMin, MenuMax, MenuStep)
So for example Arg3 above would show an argument named "Points" in the menu, with a maximum range of 0-999, a range in the menu of 1-100, a stepping of 10, and a default of 50. Stepping and menu range can default as before, menu default should probably default to menu minimum if not given.
It would also probably be helpful to move the arg-specific flags up into the arg field, like this:
Arg1 "Teleportee" Player PlayerAsIndex NotOnAdmin
Arg2 "Target" Player PlayerAsIndex
If all this is added before the initial implementation, less bandaid changes should be needed down the road to accommodate more ambitious mods. If it isn't already handled, a vote type with no arguments, or all static arguments, should be allowed for, in case of things like custom nextmap votes.