Yes I have already seen that thread, disabled the pullup resistors in the TWI.c file, and currently using the 3.3 volt line to avoid damaging the camera.
You need pull up resistors to the 3V3 line as well as disabling the internal pullups.
From what I read you also need to supply it with a 10MHz clock signal in order for it to work.
I assume you haven't just got the raw chipp, so what else is on the board in terms of regulators and such?
How are you powering it? The 3v3 output line on the aeduino has limited current capabilities.
Before using the function please add this to setup()
Wire.begin();
Also you will need to add
#define sensor_addr 0x42
To your code
Also yes you do need to provide a clock. The best way to provide a clock is to use PWM, using PWM you can generate an 8mhz clock. You will need to convert the 5v clock to 3.3v. I use a buffer to do this.