Arduino + TTL Camera +SD

     while(mySerial.available()>0)  //I DONT UNDERTAND !!!!!! wont this return the last byte in incomingbyte ??

No, the available() method only returns the number of bytes to be read.

        incomingbyte=mySerial.read();

This gets one of them.

      }

This ends to the loop that has thrown away random amounts of data. The part that isn't clear is why you have this loop here at all. Apparently is it just to ignore any response from the command to take a photo. Like, maybe, the camera reports "Done" or "Not tonight, I have a headache".

Seems to me that it might be an idea to actually print the response.

     while(1);   // ??? is that even necessary its already in void loop()

So loop() only iterates once, and you only take one picture.