I'm not sure I completely understood your approach, but here is how I would tackle it. A uniform acceleration $a$ in one dimension implies the following type of movement for an object:
$x(t)=x_0+v_0 \cdot (t-t_0) + \frac{1}{2} \cdot a \cdot (t-t_0)^2$
where $x_0$ is the initial height, $v_0$ the initial velocity and $t_0$ is the initial time. The equation then gives you the position of the object at each instant $t$.
This is all for a constant acceleration though, if you want to make the acceleration dependent on a button push, you can proceed as follows: the equation describing the position of the helicopter is a differential equation
$\frac{d^2 x}{dt^2} = a(D)$
$D$ represents a variable that depends on the duration of the button push. If $D=0$ then the acceleration is zero as well, if the duration of the push is different from $0$, you take $a(D)=s\cdot D$ where $s$ is the sensitivity. To make things more realistic, I think you should place an upper bound on the acceleration, so that you can't accelerate indefinitely. But I guess that is easy to program. Now, you just solve the equation, keeping in mind that $D$ will actually be an function of time that is in general not known, but has to be computed each time for each situation. So what you do is solve the problem for small time steps during which it is reasonable to approximate the acceleration as being constant. This will not be perfectly true for the sudden changes from pushing the button to letting go of the button, but if the time intervals are chosen small enough, it should not matter much. But assuming that for short time intervals the acceleration is constant (or uniform) we are back to our very first equation.
So the new position $x_n $is given in terms of the old position $x_o$ as
$x_n=x_o+v_o \cdot (\Delta t) + \frac{1}{2} \cdot a(D) \cdot (\Delta t)^2$
If you don't want to keep track of velocities, you can also use the fact that the velocity of the previous step is
$v_o = \frac{x_o-x_{oo}}{\Delta t}$
but this means that you have to keep track of the old position and the position one time step older $x_{oo}$.
EDIT: One final comment about gravity. When your helicopter is just hovering in the air, gravity is certainly acting, but the pull is compensated by the lift of the rotor blades. So the upward acceleration due to the rotorblades is equal in magnitude but opposite in sign to the gravitational acceleration. There are several ways you can account for this in your formula. Either you consider $a(D)$ to be the acceleration after gravity has already been substracted, which means that when there is no button push, the helicopter will just hover in place.
Either you want $a(D)$ to represent the acceleration produced by the rotorblades, and then, you have to substract the gravitation from $a(D)$ in the formulas above. You also have to adapt the formula for the link between button push and acceleration. Probably you want the helicopter to hover when nothing happens, so the formula will be $a(D)=g+s\cdot D$. But as you can see, the net effect will be the same as in the former suggestion. It gets more tricky though if we want to add things like starting up the helicopter from the ground, etc... but everything can in principle be computed by adapting the function $a(D)$.