Linux handles FAT filesystems in such a way that they don't have the same type of extended attributes as other types of filesystems that have selinux support (like ext2). So it's not suprising that the chcon command didn't work. Out of curiousity, did you try to use the chcon command on the entire mounted partition or just on the file that the symlink pointed to? If you tried doing the *entire* partition, using the -R (recursive) option may have helped (chcon -R -t httpd_sys_content_t /path/to/vfat/target_dir
If neither of those worked, you may need to use the mount command with the -o option:
mount -t vfat -o context=system_u:object_r:httpd_sys_content_t /dev/hda5 /mnt/fat32
Make sure that it has been unmounted before trying to remount.
Syntax for mounting with non-root read permissions would be:
mount -t vfat -o umask=133 /dev/hda5 /mnt/fat32
Which should give rw-r--r-- permissions to the mounted filesystem