FAT has about 3 places that it stores the volume label:
1) in the boot sector
2) as an oldschool directory entry in the root directory
3) as a vfat entry for the root directory
only the vfat entry allows for mixed case.
my ipod is called "jPod" ::
desrt@moonpix:~$ sudo mdir -i /dev/sdc2 ::
Volume in drive : is jPod (abbr=JPOD )
Volume Serial Number is 7B9F-661C
Directory for ::/
but hal shows it as "JPOD" and causes nautilus to show it as such.
this needs to be fixed before hal supports renaming volumes in any meaningful way.
durrr. libvolume_id doesn't live in HAL anymore.
patch forwarded upstream.