Die von dir angesprochenen Änderungen kamen nicht mit XE8, sondern mit dem 64Bit-Kompiler.
Soweit ich weiß, hat Apple das ausgelöst, bei denen ein LongInt auf 32- und 64-Bit unterschiedlich groß ist. Das spiegelt sich ja auch in der aktuellen Implementation in Delphi wieder, bei der lediglich unter 64-Bit iOS der LongInt eine andere Größe hat als sonst.
Ich muss allerdings zugeben, daß ich auch einen anderen Lösungsansatz bevorzugt hätte.