Compression on mobile devices uses PVRTC, which requires the image to be square. If the image is NOT square, Unity will FORCE it to be square, which completely fucks up your atlases as the atlas expects coordinates to remain in pixels.
1. NGUI has an option to generate square-only atlases -- it's a checkbox. Turn off Unity texture packing, and toggle the square texture option.
2. That said, you should not compress your atlases! It looks UGLY when you use PVRTC compression. PVRTC compression has HORRIBLE artifacts, and is not suitable for any kind of UI work. it's meant only for texturing 3D models.