It's due to refraction of the sun's light on the air particles in the atmosphere. When the sun is high the colour is blue because it is refracted to one end of the spectrum. When the sun is setting, the light from the sun is coming in at a different angle, the refraction is different, and we get light from the other end of the spectrum - red.
Sorry, I think you're both wrong. Why is the sky blue? Same reason as to wht the sea is blue. (well ,outside of the UK anyway) Water. Water vapour in the atmosphere is blue because the light coming through is refracted into blue. The amount of water vapour in the particular part of the atmosphere determines the colour of the sky. Sunsets appear red because the light is going through a far greater amount of atmosphere relative to your position of viewing. A deep red sunset as seen by you would appear blue if it was seen by someone further ahead on the globe.
Will, I don't think that sunlight is going through a greater AMOUNT, but rather a greater DENSITY of atmosphere. The distance to the edge of the atmosphere is relativly unchanged if you look up or across from any given position (excluding extremities - high mountains). However if you are looking across the horizon, you are looking through a greater amount of lower atmosphere, which is denser and contains far more dust particles etc