1. Data in flight
As far as I know, you should think of the servers as any other server. If you do things in plain on the internet, they're still plain on the internet. If you want it encrypted, use encryption. Not everyone and everything needs encryption, as you have to strike a balance between performance, security, and utility. If you're transferring data via HTTPS, SSH/SCP, or SFTP you're probably fine.
Now, even if a provider says they encrypt your data for you, how much do you know about how they handle it? How do they handle keys? There are some services that will manage this for you, but even that is up to your own trust. Better evaluate what they're doing and what access it gives them.
At least to Rackspace, your data is your data. Treat it as you want.
2a. RedHat
Both Amazon and Rackspace have Red Hat Linux servers.
2b. Server Usage
Cloud providers charge for when servers are running, not based on what you're doing/processing. You can always image the server and/or shut it down if you're trying to cut down on costs. Alternatively, you can also look at this as having the ability to create as many servers as you need.
3. Data transfer
If you're transferring data within the same datacenter, there is no charge. Just make sure you're using the internal IP addresses.
Miscellany
If I have any suggestions for doing regression tests on any cloud provider, do use continuous integration (e.g. Jenkins, possibly your Python script) and configuration management (Chef, SaltStack, Ansible, or Puppet). The more you automate the better off you'll be in the long run. All the ones I listed are open source projects that you can run yourself (or get managed support for).