Agree with Minacious. It has to do with syncing contacts with the server. Images stored on the servers are 96x96 resolution that is scaled up (very poorly) on the phone. The only work around I have found is to unsync the gmail contacts (I uses the Gmail app, no the HTC one). Now, if you replace any picture with a higher resolution one (256x256), that one will stay. If you resync again, then you will lose the hi-res pics. Google needs to update their servers and support higher-res profile pictures.