I agree with everyone who said it depends on the child.
I think it's important to prepare the child, to have a support person for the child, to be open to the child being there, and to be open to the child not wanting to be there (and giving the child the option when the time comes).
Ds#1 was at ds#2's (natural, hospital) birth when he was 18 months old. He was fine with the whole thing and gladly hopped up on the bed after the birth to admire his little brother and nurse alongside him.
Ds#2 was 23 months (and ds#1 was 3.5 yrs) when their little sister was born ( birth center waterbirth), and they both attended her birth. They were fine and really enjoyed being there.
I'm now pg with #4 and ds (6.5), ds (5) and dd (3) will be attending the birth (homebirth). They are all very excited!
To prepare our children, we watch natural birth videos (We have some "A Baby Story" episodes on tape...a home waterbirth, a birth center rocking chair birth, and a few other natural births ... as well as "Unconventional Births" from Discovery Health Channel. We also borrow birth tapes from my midwives.), we talk about birth and what might happen at birth, we read books about birth, and we pretend about birth. Not knowing if I'll be loud or quiet during birth, we play a "birth noises" game where we think of all the noises a mama might make during labor/birth and the kids help me "practice" making the noises. This way, if I do get loud, the kids won't be scared. (When pushing during one birth, my ds helped me make noise!!!) We also have a "Marianna" pregnant / birthing / breastfeeding doll (available through LLLI) that the kids love to play with. My 3 year old dd has been pretending she's pregnant since she was around 18 months old and she even squats in the tub, on the couch, etc. and pretends to give birth, saying "It's hard work getting this baby out of my yoni!!!" and grunting. :LOL
She plans to nurse our "moonbaby" after he / she is born!