I truly think it's fine to eat anytime. Now to eat a big cheeseburger and fries before bedtime- not a good idea. But eating healthy items is fine.
I think that the whole idea about not eating after 7pm or whatever is this: A lot of people eat more at night, and tend to pig out just a bit. By cutting off a time when you eat if you normally eat a lot at night, you are eating fewer calories. Therefore you lose weight.
But if you plan these late snacks into your daily intake, it does not matter. Eating every 3-4 hours is a smart idea. I don't ever eat when I wake up in the middle of the night, but I don't think it will hurt you if you do wake up starving and have ahealthy snack.
And finally, here is something I once heard:
Eat breakfast like a king, lunch like a prince, and dinner like a pauper. The whole idea behind that is to have breakfast be your biggest meals and eat a bit lighter at night. But I eat 6 equal smaller meals, so I don't realy go by that.
