Ok, thanks for the explanation. To summarize: the salt should always be zero-padded to eight bytes.
When I make this change in the key derivation function, it passes the tests in your scripts.
That said, I am guessing this will break backwards compatibility. But if I understand you correctly, this will make it compatible with the standard implementation.
This change will be in the next beta.