According to my husband, who is a nutritional specialist, we should eat something about every 3 hours. Your daughter being hungry at 3:30 is not uncommon or strange.
If I were you, I'd give her a small snack at 2:30-3:00. Waiting until 3:30 or 4:00 is too late if you're eating at 6:00. Give it to her before she says she's starving. The best snack would be fruit or veggies.
I've noticed that when my daughter (who is 9) tells me she's hungry, she's usually feeling pretty hungry. She's a child, so when she's hungry she doesn't know what a "snack" means, or realize that a full dinner is on the way. So when she's hungry around 4:00 she wants to eat until she is full like she would for a full meal. Give her some fruit then she just begs and says she's still hungry. Or she'll get her own snack and eat enough to be a meal and the do the same thing as your daughter does. She won't eat dinner and then will be hungry at bedtime.
We snack at 3:00 every day. That's when we get done with homeschool, and most kids are coming home from school and getting their snacks too. The best part about that is now we've "trained" her stomach. She's automatically hungry around 3:00 and then she eats a full dinner.
We don't allow snacks after 3:30 so if she misses her snack she has to wait until dinner time (we always OFFER it at 3:00 but sometimes she chooses not to eat one). Any time after 3:30 and I know she won't eat her dinner!
Also, smelling dinner on the way heightens the appetite. It's amazing how my family will just come out of the woodwork when dinner smells float from the kitchen!
Good luck!