Yeah, the thing with buffs and debuffs is you don't want the player to have to use them every turn, it gets annoying fast. You want to do something like, the player uses "entrench", they gain a defense bonus as long as they don't move, vs. the player uses "hyper", they gain extra movement but lose attack effectiveness.
While it's boring if everyone stops moving as soon at they reach the enemy, it's also annoying if everyone's moving all the time. IMO the idea would be to have two different strategies, one promoting movement and one restricting movement, and the player would be encouraged to build one or more units to maximize each strategy; sort of like having an agile rogue class vs. a paladin/tank class, and probably a third DPG/glass cannon class who has all distance attacks and avoids letting the enemy get close.
I'm really trying to avoid encoding all the typical combat roles from my game. IMO, roles are passe now. Actually, I'm not even sure I'll be using classes either.
I agree that if everyone is moving all the time it can be annoying. Using squares that are "threatened" might help prevent this. You can move your unit in and attack, but in order to move away after you are engaged you have to spend an action to "disengage". If you don't spend an action you'll be attacked as you move out of range. I've also included the tumble action which allows you to move through threaten squares with a bonus to defense, but if you get hit you are stopped and knocked prone.
What I'm worried about is that you can't automatically end the turn once the unit has completed its attack. The player must press the Next button to continue. In XCOM, the game automatically ends movement once the attack is made, this keeps the game moving.