First up - all (human!) blood is red. Blood in arteries is bright red, since the haemoglobin molecules (which largely give the blood its colour) are mostly bound to oxygen. In veins, much of the oxygen has moved off into the tissues, and the deoxygenated haemoglobin molecules are consequently a darker red... but STILL red.
Second, all blood vessel walls, including veins, are a sort of opaque cream colour - not blue.
Then why do veins appear blue?
The first thing to understand about the physics is that blood usually absorbs almost all of the light that hits it - although it does reflect a little red light, which is obviously why blood appears red.
Secondly, different wavelengths of light have different likelihoods of be scattered. (In completely non-physicist's terms, light scattering occurs when a wavelength of light hits an atom, is absorbed by the atom, and then expelled again in a different direction. This isn't quite right, but it'll do as an explanation.) As it turns out, wavelengths towards the blue side of the spectrum are much more likely to be scattered than those near the red side.
Now, when the light passes through the skin, the blue light is therefore preferentially scattered. Some of it reaches your eye. The red light is less scattered (less reaches your eye), and most of it reaches the blood... where it is promptly absorbed. So virtually none of it reaches your eyes.
And thus, since basically only the blue light reaches your eyes, the vein appears blue. A similar thing happens in cyanosis - here the blood is more deoxygenated than usual, which would make it a darker red than normal. But, seen through the skin / nails / mucous membranes it looks a deep purple / blue colour.
A great web page that explains the "blue blood" experiment in more detail is here: http://discovermagazine.com/1996/dec/the...
(P.S. Two interesting extras.
Firsly, arteries almost never get the chance to look blue, because the bigger arteries are all quite deep, where no light at all penetrates.
Secondly, when we blush, the blood still looks red, not blue. Why? Because the capillaries that dilate when we blush are so close to the skin's surface that there isn't enough skin to scatter the blue light. Some red light is reflected as usual, and blushing makes us go red. Similarly, if the skin over a 'blue' vein is loose (e.g. over the wrists), by stretching the skin and making it thinner, the colour of the vein can sometimes be seen to get a little redder.)
Update: I've added a picture of some venous blood - here - as proof that I don't lie to you all the time...