Thanks for the extra data, what I think is that your OS's filesystem has 'grabbed'/allocated all of the blocks that make up the virtual disk rather than just leave it as 'white-space', so the thinning process has only one option which is to assume that it's real data and leave it as it is.
I know you say you only have one SAN but do you mean you only have one SAN-provided LUN/Datastore? if you can then get a second LUN presented to your host/s big enough to hold the VM (maybe a bit more), partition and format it via the VSClient as VMFS and try the Storage vMotion again via the VSClient, ensuring you've chosen 'thin'. There's a chance that this more thorough method may see the filesystem's unused space for what it is and reduce the size accordingly. Let us know how you get on. Oh and I just remembered, this will work if you copy the VM from the SAN LUN/Datastore to any local VMFS-formatted disk/s on the host too, you can always copy it back to the SAN whether it shrinks or not, this may save you the faff of adding the LUN.