Bootcamp lets you divide your machine into 2 parts, put Windows on the second part and boot into either one (but only one at a time). OSX can't reclaim the extra space Vista made because it is not aware of anything Vista did. As far as it knows the whole 31 GB is still allocated to Vista. In the same way you might be able to use Vista to reclaim that 11 GB of space it deallocated but you can not use it to allocate another 31 GB of space. It doesn't know it's there.
The easy way to resolve this is to back up your Vista data, do as wrldwzrd suggested, and then restore from your backup. If you are not backing up, and you are running two OS's, then you are doubly asking for trouble.
I don't know anything about Parallels, but maybe that would be a better solution for you. Good luck.