How do I stop "cheating" in reinforcement learning (MLP+Evo. Algorithm)?
You are minimizing the wrong loss function.  In other words, you have picked a poor objective function.

Look up the standard objective functions that are used for training neural networks for boolean classification tasks: e.g., mean-squared error, or cross-entropy loss.  This is covered in standard tutorials.  They don't use the function you show.  The function you picked looks... odd, so I suspect it is the source of your porblem.