What's her breed? Where'd you get her from? What kind of socializing did you do with her when she was little? Did you introduce a lot of different people and dogs to her, i.e. dog parks and public places?

Hate to say it, but she sounds a lot like an unsocialized pup. A warning snap IS a healthy sign of doggy communication, but that's also a sign that 1) the humans weren't paying attention to her OTHER signs (i.e. tight facial muscles, weight shifted to the back, "hard" eyes, etc.) 2) she is uncomfortable and needs an escape route 3) it's a possible dominance/lack of leadership issue.

Can I ask if this is your first dog and about how old are you? I only ask because younger people tend not to be as authoritative as older folks. By the way, I'm very young myself so I'm not making any sweeping generalizations You need to show your dog that you are a leader and provide her with rules. Enforce "Nothing In Life Is Free" ASAP, and please encourage your friends and family to partake in NILIF with your dog as well: http://k9deb.com/nilif.htm. This will teach her that HUMANS are leaders and will provide her with rules. She doesn't need to be so fearful all the time.

When you say you know she's not fearful, I have to disagree. Fearful dogs act out in aggression to scare away the threat. Even when your dog has her hackles raised and is carrying herself in a very threatening manner, she's only doing this out of fear (often due to a bad experience or just lack of socialization). This is called fear aggression, and I strongly believe that this is the root of your problems. So, to condense it, my suggestions are:
1) NILIF - you absolutely need to teach your pup that humans are the leaders
2) Work on her fear aggression, preferably with a behaviorist.
3) To work on her fear aggression, you need to slowly resocialize her by desensitizing and counter conditioning her to her triggers (strange dogs, people, and especially children).

This takes a lot of effort, so you really have my sympathies! Also, don't scold. It just makes matters worse