Hi D.,
It's so upsetting when your child refuses to eat! It's easy to get lost in those power struggles because we so desperately want our children to be healthy and to have good diets!
Have you tried enlisting Vanessa's help in menu planning? It's easy for her to criticize food that you prepare for her, but the dynamics may change if she is given some level of responsibility.
Sit down with her and tell her that you're concerned about her eating habits, explain why healthy dinners are important, then ask her what she thinks would help her eat better. Have her tell you the things she likes, making clear that you are only accepting healthy options for your "menu." Ask her which vegetables she likes, as well as which main courses. Write everything down to make it "official" -- maybe even have Vanessa help draw a menu poster with you. Add stickers or whatever else to make in both fun and a big deal.
At the beginning of easch week, I suggest you make a menu with her help. Tell her that you expect her to eat the meals, as they are things she likes. If you want, you could have a single EASY standby alternative, such as peanut butter and jelly sandwiches, in case she suddenly decides she doesn't like that night's dinner. Don't give too many choices, as you don't want to become a short-order cook! Actually, Vanessa should help decide what the alternative meal is. Again, that will leave her with no good argument about not liking her food options.
The idea with Vanessa making some of the decisions is that it won't be very easy for her to say she doesn't like something that she's already approved of. You may also want to enlist her help in the food preparation and setting the table. This will give her even more ownership over the meal. If she has a greater role in the process, she will hopefully be a more willing participant at the dinner table.
One challenge is for you to stand firm. If you do create menus and plans with her, she may still try to manipulate you into a power struggle over the choices. You may have to remind her about your agreement, tell her the list of foods can be updated later, but that her choice is to either eat a reasonable amount of the meal prepared, to have the PB&J or to not have dinner at all that night. (Don't worry -- one night without dinner by her choice will not cause her to starve!) If you give in and slip back to the old patterns, this new plan (or any new plan) will probably fail, so stay strong and give it your very best!
Oh, I just thought of something. You may need to make some compromises. If she doesn't like cheese, for example, don't force it upon her. It's easy enough to either eliminate cheese from the diet or just have her servings be without cheese. As long as she's eating something that's within reason, be happy. I think your immediate goal is to get her to eat; over time you can work on expanding her small list of acceptable foods by simply offering them (not forcing) at the dinner table.
As far as the school goes, I definitely think you should bring up your concerns! Tell them the effect it's having at home. Whatever happens in school, you can at least control what you have in the house. Vanessa might like cookies and cake, but if those aren't in your house, there's not much she can do about it! Make sure you have a variety of healthy snacks to offer her.
I really hope this helps! Best of luck!
~V.