I don't know if my info will help, but maybe.
Our 3 year old does the same thing.
I let her have a say in what we have for dinner and she gets to help fix it. She has to eat 4 bites of whatever we make before she can say she doesn't like it or that she wants something else (1 bite to be nice, 2 bites to get the taste, 3 bites to determine if she really likes it or not, and 4 bites because it's one bite more than her age).
Then if she doesn't like it she can either (1) eat a pb&J sandwich (counts as a bread serving, a meat serving, and a fruit - we use wheat bread, Jif PB and homemade "jelly" which is really just a fruit spread) or (2) wait until the next meal -she doesn't get any snacks of any kind and can only get water to drink (do this because she was replacing food with drinks). Everytime she choses option 2, she eats at the next meal!
I've been told not to get in the habit of making another meal for my child - fix 1 meal and let that be it - but I have a hard time not offering her something to eat. I let her chose because more times than not the whole reason she's chosing not to eat is because of control reasons. She feels like she doesn't have a say in what goes on, so she rebels against what I say. Typically, if she gets a say in what we have to eat and gets to help prepare it she eats it.
~A. C