I would guess it’s due to low precision in the pixel shader on device. Phones use half precision for pixel shader operations, like anything plugged into Emissive or BaseColor. Vertex shaders will usually use full precision, which is inputs like WorldPositionOffset, CustomizedUV. Try using Customized UVs to pass through your computed UV, and then only do the texture lookup in the EmissiveColor chain.
Thanks for the reply, I will try that, however it seems very odd that it worked perfectly fine on 4.1 but on 4.2 its broken, has this precision change happened in that update?
Visually it kind of looks like the texture is being border clamped, its quite odd!
Just to bump this, I have tried using CustomizedUV, however these pins do not accept a 3D vector as the texture coordinate which is what is required for a cube map.
It seems like a bug that was introduced in 4.2 to be honest since it worked on 4.1, I will try on 4.3.