Edit: Poked around the code and found the culprit: https://github.com/JeanLucPons/VanitySearch/blob/c8d48ce5f03f5357c0e87cbdb3e1e93cd50af88b/main.cpp#L314
So when combining partial keys, VanitySearch simply checks all 6 combinations of symmetry and endomorphism and then returns whichever key matches the address in the text file. bitaddress.org obviously doesn't do this and just does a straight addition.
Here is how you would use bitaddress to find the right key:
Vk will be the partial private key generated by VanitySearch, while Bk will be the partial private key generated by the user on bitaddress. L1 and L2 will refer to the values below, as specified here: https://github.com/JeanLucPons/VanitySearch/blob/c8d48ce5f03f5357c0e87cbdb3e1e93cd50af88b/main.cpp#L255
L2 = ac9c52b33fa3cf1f5ad9e3fd77ed9ba4a880b9fc8ec739c2e0cfc810b51283ce
The six combinations that VanitySearch checks are as follows:
Vk + (Bk*L1)
Vk + (Bk*L2)
Vk - Bk
Vk - (Bk*L1)
Vk - (Bk*L2)
You can actually work all this out using a combination of bitaddress's add and multiply functions, as well as knowing how to negate a private key modulo n (which is just n minus your privkey), but it doesn't seem like there would be any easy way to explain this to a user who doesn't really understand what they are doing without huge potential for error. The only other option would be to disable symmetry and endomorphism when searching for a key in VanitySearch.