Most "normal" "older" SD card readers do not support anything larger than 2GB or support SDHC cards at all. It has to do with the format of the data stored on the card, and the older readers are not able to interpret it.
All SDHC capable readers can real all older SD type cards.
Full technical nitty gritty from Wikipedia....
http://en.wikipedia.org/wiki/Secure_Digital_card#Technical_explanation"Compatibility issues with 2 GB and larger cards
Devices that use SD cards identify the card by requesting a 128-bit identification string from the card. For standard-capacity SD cards, 12 of the bits are used to identify the number of memory clusters (ranging from 1 to 4096) and 3 of the bits are used to identify the number of blocks per cluster (which decode to 4, 8, 16, 32, 64, 128, 256 or 512 blocks per cluster).
In older 1.x implementations the standard capacity block was exactly 512 bytes. This gives 4096 x 512 x 512 = 1 gigabyte of storage memory. A later revision of the 1.x standard allowed a 4-bit field to indicate 1024 or 2048 bytes per block instead, yielding more than 1 gigabyte of memory storage. Devices designed before this change may incorrectly identify such cards, usually by misidentifying a card with lower capacity than is the case by assuming 512 bytes per block rather than 1024 or 2048.
For the new SDHC high capacity card (2.0) implementation, 22 bits of the identification string are used to indicate the memory size in increments of 512 KBytes. Currently 16 of the 22 bits are allowed to be used, giving a maximum size of 32 GB. All SDHC 4-GB and larger cards must be 2.0 implementations. Two bits that were previously reserved and fixed at 0 are now used for identifying the type of card, 0=standard, 1=HC, 2=reserved, 3=reserved. Non-HC devices are not programmed to read this code and therefore cannot correctly read the identification of the card.
All SDHC readers work with standard SD cards.[11]
Many older devices will not accept the 2 or 4 GB size even though it is in the revised standard. The following statement is from the SD association specification:
"To make 2 GByte card, the Maximum Block Length (READ_BL_LEN=WRITE_BL_LEN) shall be set to 1024 bytes. However, the Block Length, set by CMD16, shall be up to 512 bytes to keep consistency with 512 bytes Maximum Block Length cards (Less than and equal 2 Gbyte cards)."[12]
[edit] SD (non-SDHC) cards with greater than 1 GB capacity
The SD Card Association's current specifications define how a standard SD (non-SDHC) card with more than 1 GB and up to 4 GB capacity should be designed. These cards should be readable in any SD 1.01 devices that take the block length data into account. Any 1 GB or lesser card should always work. (So the key question is how one's reader handles block length).
According to the specification,[13] the maximum capacity of a standard SD card is defined by (BLOCKNR x BLOCK_LEN), where BLOCKNR may be (4096 x 512) and BLOCK_LEN may be up to 2048. This allows a capacity of 4 GB. The main problem is that some of the card readers only support block (aka. sector) size of 512 bytes, so >1GB non SDHC cards may cause compatibility difficulties for some users.
[edit] SDHC cards with greater than 32 GB capacity
Similarly to the above, as of version 2.00 of the specification,[13] the capacity of an SDHC card is limited to 32 GB. However, while not strictly adhering to that standard, it is in principle possible to create SDHC-like cards of up to 2048 GB capacity. SDHC cards have fixed sector size of 512 bytes.
[edit] S"