Line 25 of ifup-post (initscripts-5.00-1) contains a check that prevents the script from setting the hostname for interfaces that have not been activated at boot time ("$2" = "boot"). This is inconvenient for PCMCIA adapters where the interface is never activated at boot time.
This is intentional; for PCMCIA adapters and other things that could be changed often on the computer, we don't want to set a hostname; changing the hostname at random points during runtime can cause application failures (X being the notable example.)