uploading data from card while still capturing it

One answer would be to have two arduinos. One to deal with the sensors and the other to deal with sending the data by GPRS.

The second arduino would indicate to the first arduino whether it is busy (sending) or not.

The first arduino reads the sensor. If the second arduino is not busy, the first arduino sends
the data to it by serial connection an the second arduino stores it in its data file on SD.

If the second arduino is busy, the first arduino stores the data in its data file and re-transmits it
to the second arduino when the second arduino isn't busy any more, in between sensor reads.