I'm noticing an issue with using a reference atlas to switch to an HD atlas at runtime.
Make pixel perfect will add 1 to the Width / Height if it is not an even number.
However when using an HD atlas with the pixelSize set to 0.5, that creates visual artifacts.
For example an HD texture that is 74 pixels across, becomes 37 pixels, and NGUI is rounding it to 38 pixels modifying the image enough to make it appear sheered.
Perhaps the MakePixelPerfect function in UISprite should take the atlas pixelSize into account before adding 1?
Or is there a special way of making the atlas / textures etc.
With adding +1 pixel to HD texture atlas

Without:
