1) FAT16 can manage 4 GB filesystems.
2) Both standard SD and SDHC can handle 4 GB size. Standard SD need to handle block size = 4096 bytes to do this.
3) Any upgrade to SDHC should be a simple matter of new code. However some electrical characteristics is changed (tighter margins). The main matter is that SDHC works with blocks not bytes.
I don't remember how the sd/fat16 code for minimig is. But I wouldn't be suprised if a standard-SD 4 GB works out of the box.