Put simply (and not entirely specifically correct, but should get the point across)...
SD cards address sectors by ignoring the lower 9 bits of the address. 4GB limit is due to 64bit limit on address.
SD-HC cards address sectors by using all of the bits in the address to point to an actual sector. The 32GB limit set on SD-HC is purely artificial. SD-HC cards, according to the spec should be able to address up to 2TB, but they reserve that for SD-XC.
I ignore "one post wonders".