The orange cast under incandescent lights has to do with the color temperature and "white balance". Many cameras have different white balance settings available which compensate for the different color casts from various light sources (fluorescent imparts a greenish tinge, incandescent is orange, open shade is bluish, etc.). When using a flash, if it's not powerful enough to overpower the ambient (room) lighting, it introduces a light source of a different color temperature, and mixes things up further. Most camera flashes are balanced at around 5500K (color temperature in degrees Kelvin), while incandescent light can be in the 2000-3000K range. I'm not sure what the color temp of the LED flash on the iPhone is, as I've never seen any specs on it.
Having such a small flash so close to the lens makes two different problems - the light source is very small and harsh, and it falls off very quickly - so things close to the flash will be blown out, but things a bit further away receive very little light.
As far as the "grain" goes, I'm guessing that the iPhone's camera has some sort of auto-ISO adjustment. In simple terms, it amplifies the light at the sensor in an attempt to brighten up your images shot in low light (similar to turning up the volume knob on your radio), and a by-product of that is "noise" or "grain". Not much you can do about it except run your images through some sort of noise reduction software afterward.