HTC Desire spec states that it supports:
microSD™ memory card (SD 2.0 compatible)
I saw on the Secure Digital entry on wikipedia that there are 3 protocols:
SDXC - how can I know which of them my device supports?
the "HC" in every SD-Card name simply means "high capacity" - i.E. every SD card with more than 8GB is a
SDHC card. Every "SDHC" Card is SD-Standart 2.0 ("SD 2.0"). Which means your device is compatible with a
microSDHC card up to 32 GB.
In general, you can assume that "SD" refers to "SDHC". It's the standard. If your phone supported SDXC, it would definitely be advertised.
The HTC Desire supports only microSD and microSDHC up to 32GB. SDXC is still relatively new and at present no handsets support it.
I have a 8Gb Class 10 microSDHC in my Desire.
16GB microSDHC here with no problems.
32GB Lexar microSDHC class 10 card. With SD tools benchmark I get 23.7 MB/s read and 9.1 MB/s write performance on CyanogenMod 7.1-RC1. On stock 2.2 ROM it had considerably lower values with read even less than write. The benchmark is run just after reboot to prevent caching mechanisms inflating the real values.
HTC Desire HD and HTC Inspire 4G supports SD cards up to 32Gb capacity. But 64Gb isn't supported. I've checked it by myself. So you can buy 32Gb card and be sure that it will work.