Read this How to SMS with Google Voice from Any Mobile Phone via lifehacker
It's not their Google voice number it's a number (starting with 406) Google assigns to that person.
If they sent that person's phone number, when you replied, it would be from your cell phone number not your Google number. When you reply to the 406 number Google assigned to that contact the message is sent from your phone to Google Voice who forwards it to them from your GV number.
When someone sends a text message to your Google Voice number, you'll receive the text on your phone–but not from the recipient's phone number. Instead, it will be a 406 number you've never seen before, with the person's name preceding the message (as pictured here). Add that number to your recipient's address book entry as "Other" or a custom label (like "GV SMS"). Each one of your text recipients will have a different 406 number.
From there on in, if you SMS that 406 number, your recipient will receive text messages from you—and it will look like they're coming from your Google Voice number. Their replies to any messages you send to that number will go back to your Google Voice number and come to you via the 406–meaning, your recipient never sees the 406 number. Like I said, it's a kluge, but it works.
The setting mrlanrat is refering to, is when someone calls your GV number, not when they send SMS. There is no way to show their actual number instead of the 406 number when they send an SMS.
The whole point of the GV number is to have one number you can be reached at, they (Google) are trying to help you keep it that way. If I sent you an SMS to your GV number and your replied to it from your cell phone number, I would just keep SMSing and calling you on your cell not your GV number. You can even make calls from any phone using GV and your GV number will show up as the caller ID to whoever you are calling.
Another article I would suggest How to Ease Your Transition to Google Voice via lifehacker