Changing software won't help. This is clearly eityer a hardware problem (eg. faulty cable or endstop switch) or a firmware setting has been changed. Buying S3D will nit fix this.

Is the first layer of the airprint at exactly the same height every time? If yes then its most likely a setting thats been changed. If no then its most likely mechanical.

Is the bed properly levelled? It should return to this Z position with each bed levelling run. If it does and the heights are only off when running a print then I would say you somehow changed setting in your firmware.