Although version 0.51 is the latest, you'll note that it's quite old (June 2003). My guess is that some change in the recent release(s) of OpenSSL doesn't get along with the XS code - as you, yourself, more or less suggested. But that's just a guess. It could also be some code in the OpenSSL library that's posing a problem with VC7 only - ie some code that didn't actually get run until you came to run the Crypt::SSLeay test suite.
There's a ppm of Crypt-SSLeay-0.51 at
http://theoryx5.uwinnipeg.ca/ppms/ if that helps. It should work fine with your build of perl (I think ... but no guarantee) despite the different compiler version. I don't know which version of OpenSSL it was built against - I suspect an older version.
Then again, if you built perl yourself you probably don't have the ppm utility - though you can get a serviceable version of it from CPAN. Nearly all ppm's that you find will work with your build of perl - so it's a handy tool to have for when problems arise.
I think it's a sound policy to be using the same compiler for everything - but don't let the principle stand in the way of progress - you'll often find it doesn't matter which windows compiler was used.
Cheers,
Rob