Hmm, I came across something like this when I was writing some code which used the AmiSSL package... just checking that code now...
Ahh, probably not related, well could be, but when you initialise AmiSSL you're actually checking it like:
if(!InitAmiSSL(...))
{
/* worked */
}
else
{
/* didn't work */
}
Which is reverse logic of what you would expect most of the time when checking for a successful result.
Maybe some libraries work like this, most do not though. Strange.