What's wrong with this argument that the potential energy of an arbitrarily heavy object at arbitrary height is $0$? Consider an object with mass such that there is a gravitational force downward of $1N$. Also assume the environment is a perfect vacuum. Now assume that we exert a force of $1+\epsilon $ Newton upward on the object for $\delta$ seconds, and then exert a force of $1$ Newton upward from then on.
During the first $\delta$ seconds, the object will accelerate from $0$ to $v$ meters per second upward, and then stay at $v$ since our force balances the gravitational force. So the object will move upwards indefinitely. 
During the first $\delta$ seconds, we have a net upward force of $\epsilon$ Newton, and so a work done on the object of $\epsilon \cdot \frac 1 2 v\delta\approx 0$ (the force times displacement). After the $\delta$ seconds, the net force is $0$, since the gravitational force and our force cancel out, and so the net work done on the object is $0$, so the object doesn't gain any energy even though its height increases.
What's wrong with this argument?
 A: The point is that when a mass is not moving in a gravitational field, the amount of potential energy it has depends on its position.
If you release a mass 1m above the ground and it falls freely, it has less kinetic energy when it hits the ground than if your released it from 2m above the ground.
That difference in energy is what "gravitational potential energy" measures. 
If you raise the mass at constant velocity, the force you apply is doing work (= force x distance), the kinetic energy stays the same, and the gravitational potential energy is also increasing. 
Of course the gravitational force is also doing (negative) work equal and opposite to the force you apply, but "the work done by gravitational force when a mass changes position" and "gravitational potential energy" are just two names for the same thing (though numerically they have equal and opposite signs).
A: Work done by a force = Force * Distance the object moves.
When the object is initially stationary, that 1N is doing no work, because the object is not moving.
After you apply your (1+ϵ)N force, the object is moving, so when you re-apply your 1N force, you are actually doing work on the object just to keep it moving at the same speed.
If you account for that work being done, you will get the correct formula for gravitational potential energy.
A: There are two major faults in this argument.
The first is the assumption that over an infinitesimal time with an infinitesimal additional force (hence doing approximately 0 work to the object) that the object will be moving with a non-infinitesimal velocity.
The second is the assumption that because the object is moving without accelerating, the object is not gaining energy.
Specifically, the statement that the net work done on the object is 0, so the object doesn't gain any energy even though its height increases is false.
To elaborate on the first point:
The smaller the value of $\epsilon$, the longer the time $\delta$ will have to be in order to reach a velocity $v$.  In order for the velocity not to be infinitesimal ($\simeq 0$), the value of $\epsilon$ will have to be equal to $m v/\delta$ (where $m$ is the mass of the object), which means that the work being applied by the force will be $(v / \delta) \cdot \frac{1}{2} m v \delta = \frac{1}{2}{m v^2}$.  The work is only zero if the velocity is $0$, and if the velocity is $0$, the height will never change.
To elaborate on the second point: With the application of the external, velocity maintaining force, the object most assuredly does gain energy as it gains height, because the work being done on the object by our external applied force that maintains the object's velocity after its initial acceleration is being counteracted by the work of gravity (so that the object does not accelerate).  However, because our applied work is external to the object and is applied in the direction of the object's motion, the work done by the gravitational field is negative (because the force and the object's velocity are in opposite directions), meaning that energy is being stored in the interaction between gravity and the object; i.e., the object's gravitational potential energy is increasing.  (If we remove the applied force, then the gravitational field will perform positive work on the object, decreasing the potential energy and increasing its kinetic energy as the object moves downward, in the same direction as the gravitational force.
The only way the object would not gain energy is if the force being used to initially accelerate the object and subsequently maintain its velocity were to come from a store of energy inside the object itself (chemical, electrical, or internal kinetic energy).  The otherwise fallacious statement would be true because no external work would have been applied to the object.
If we consider the system as a whole, the energy that is being used to maintain the constant velocity of the object must come from somewhere, so if the system considered as a whole includes the object, the gravitational field, and the source of the applied force, only then can we say that no work is done.  Even then, the object gains energy (its gravitational potential energy increases at the expense of the energy used to maintain its constant velocity), but the system as a whole does not.
