In Google Voice, do all SMS messages have to be transmitted via a data connection? If someone is using Google Voice, do they need a data connection (cellular or WiFi) to be on in order to send/receive any SMS messages?

This seems to be a big limitation, as keeping data on all the time can really drain the device's battery (and can get expensive with all of Android's background data).

Also, signal strength for a functional data connection generally has to be stronger than the minimal signal required to send/receive traditional SMS messages.  Inside buildings, it is commonly hard to get a data signal, but SMS messages can often still be transmitted/received.
If you are using the Google Voice or Hangouts app to send or receive messages using your Google Voice number, then yes it must have a working data connection, but it's data usage will be extremely minimal. 

In Google Voice you can setup your SMS messages to forward to email or your actual carrier's SMS service if you prefer. You can replay from either email or carrier SMS via both methods as well.