I've started using Gmail more and more, primarily because I like the ability to read and respond to emails while away from my home machine. The only concern is that a copy of my email remains on Google's servers and there is no guarantee that this will be available.
The ideal way to fix this is to use the POP capability to download a copy of the email for archiving purposes. This is in preference to the mail forwarding option as it will also download the sent email items (the forwarding option will not enable archiving of sent mail).
Once this is done, it's a matter of configuring your email client (Thunderbird in my case) to download from Gmail's POP server. One important thing to remember is to "leave a copy of the email on the server". This will allow access to Gmail through a browser as well as in Thunderbird.
For sending, set the Thunderbird account to send via Gmail's SMTP server. This will magically save a copy of the outgoing email in the Gmail sent email list.
Finally, setup a filter rule in Thunderbird to move all email from email@example.com (where xxx is your own email address) into the Sent folder. This will keep things nice and tidy in your email client.
Not sure if the same can be done with Yahoo! mail. Will investigate...