All motion commands move from the current position to a new position. The current position is assumed and not specified by the command, whereas the new position must be specified. Moreover, accelerated motion commands require that the distance to be moved be provided with the command as well. However, it is possible to have a motion command for which the current position is unknown to the slicer generating the commands. Specifically, this occurs when a slicer generates commands telling a printer to first home and then to define the current position to be the home offsets. In that situation, the slicer does not know what the current position is. Consequently, it cannot generate an accelerated motion command as it cannot determine the distance to be moved.
There is, however, an exception to the above: when printing over USB, ReplicatorG will query the printer for its current position after it homes and defines its position as the value of the home offsets. So, when printing over USB, ReplicatorG can generate an accelerated motion command for the first move. When writing the same gcode to a X3G file, ReplicatorG cannot know the position after homing. In that case, the first motion command in the X3G file is not accelerated.