Don't feel bad it took me a long time to get the ov7670 to work most of this was my silly errors I was a beginner at one point. When I started working with the ov7670 I could not even communicate with it using i2c it would not work. I did not relize that for i2c (sccb) communication to work you needed to feed a clock to it. I remember getting it working and the colors I got out of the ov7670 were purple and green. I found out that there was some register that fixes this (it appears aturcitu is currently experiencing this issue) Yes it does affect rgb565 mode too. Working with these camera sensors have significantly advanced my skill both at a hardware level and a software level. I hope you keep going with your project seeing it finally work feels great and that is part of the reason why I made this topic so that other people interested in camera sensors can get to see their project work.
What do you mean "Put it to sleep"? Maybe there is a way to fix it. I can't imagine software causing damage to the sensor unless you disable the internal regulator or something which is unlikely that you did.
Could you please tell us where you are getting ov5642 sensor modules for the cost lest than an ov7670 module the cheapest ov5642 module I could find was $25.99 on ebay. The ov7670 can be purchased for $5.99 on ebay and includes free shipping just like the ov5642. I would like an ov5642 module myself.
Well the ov5642 is quite a bit different I am not sure if much of my code will help you with that unfortunately.
Ok that makes more sense now I though that when you were talking about the vc7670 I though you were talking about the ov7670 but now I realize that they are two different things however I assume you are talking about this https://www.adafruit.com/products/397 if so you relize it is only 0.3 MP not 2.0 MP. I agree that it is too expensive.
I submitted a pull request that may solve some issues but I doubt it will work. There are two problems first of all the Ethernet shield that you are using uses pins 2,4,10,11,12,13 you appear to have pins 2 and 4 hooked up to the ov7670 also I think that the function you are using to send data to the wiznet 5100 is too slow try directly sending the data without using those silly arduino library functions.
Is the maximum output resolution 640x480 (vga) if so640x480/1000000=0.3072