Eating on a structured schedule is always tough. I'd always say to include a scheduled cheat / week so you have that social & taste-oriented outlet instead of just "you can't". Any diet is going to be driven by your goals & expectations. If you're doing a contest prep, then its a bigger deal and really does require some attention to commitment. I often repeat to myself the same thing that I tell others when I want to gorge on something in the middle of prep. You either do it, or don't bother. You simply can't do a prep half way and expect to be proud of your results on stage, for the time & money that goes into it. If your'e not 100% committed, then you should probably look at rescheduling your show for some time when you can commit. Simple as that. Trust me I've tried just about every cheat I think I can get away with and every one of them set me back, so its just not worth it getting distracted by the whole thing.
I find I need to get into "the zone", but once I'm there, I'm pretty good. I makes sure I get everything out of the house that looks remotely like a snack, and have recently spent more time looking at varieties of food that fit my diet. Been having a lot of fun w/ some Paleo foods. As I get closer to show time, I spend more time focusing on my posing and anythign else that will keep me occupied. Then usually once I get home from the gym I have just enough time to check email, make food & get to bed. It just becomes less of an issue. Not saying its easy, but you either do it, or don't waste your time. If you're not on a tight schedule, then schedule your cheats and stick to them. If you're always hungry, then maybe you need to revisit your diet to be sure you're actually getting enough. Otherwise its just a circular pursuit of something you're never going to achieve.