I think more information is needed on how you are going to use the system: what is the maximum distance between the robot and the controlling station? Is your choice of using a cell phone as the controlling station a must, or any portable device would do?
In theory, you can make a voice call from the Arduino and send tones to transmit a message (where the message can be a sensor's output). On the receiving end, however, you'll need an application that can convert these tones into something meaningful to you. The controlling station could send tones entered from the keypad to transmit a command, but I don't know whether the GSM module can actually transmit these tones to the Arduino.
Or you can use SMS, which being text does not require encoding and decoding. The problem is that GSM is slow, and you probably want something that can respond to commands as near to real time as possible.
Or there is GPRS, which connects to the Internet. This is probably the only option that may give good enough performance, but it will require some effort to get the system properly configured (you'll need to connect the controlling station to the Internet as well).
There are alternative wireless protocols, or you can just use radio signals, but before talking of them you should consider two things:
1. if you want to control the robot from a phone you'll have to engineer a proper user interface. This will require some programming, using a language that depends on your phone and not on the Arduino.
2. the maximum distance between robot and controlling station is the most important factor in deciding which protocol to use. Bluetooth, for example, is supported by many cell phones and is relatively easy to program, but its range is very limited. RF signals allow for bigger ranges but require additional hardware+programming on both sides.
3. The Arduino is programmed in C, there are lots of examples to get you started but in order to achieve what you have in mind you'll have to learn a lot more.
4. A SIM card will always be required if you use GSM.
5. Delays are often the result of inefficient programming, but there is a limit on how many inputs you can manage. Streaming inputs (e.g. audio from microphones) are a real challenge. You might even go as far as setting a separate channel to transmit them, if you don't want them to interfere with the processing of other inputs.
7. Vista is Ok. You'll need to install the free Arduino IDE.
8. The GSM module works as a cell phone and can talk to any GSM device. Programming the user interface on a cell phone, however, is a different matter; Android and Apple phones use different programming languages and different development environments.