カービィさんが貼っているソースだけでは処理の流れが全部は分かりませんが、CANBAS_Xに直接足しこむのはまずい気がします。 タッチを開始したときにCANBAS_Xはどこかに保存しておいて(例えばOLDCANBAS_X)、OLDCANBAS_XとTX-OLD_Xで計算しないと移動する前の座標に戻せなくなりそう。