Good SMS reader app for Android?
As things stand Handcent would fulfill all your criteria save the last one. In any case, ads are shown only in the options screen - never in the message list or conversation view. 

If you're rooted, you can use AdFree to try to eliminate them.