Motor Acceleration Timer Deceleration Problem

You don't need to initialise it at all - it is static, so the compiler makes it zero, unless you tell it otherwise.
But you do need to update it.

 static unsigned long lastTick = 0;

So something more like

 static unsigned long lastTick = millis();