I get the “good” result using both the SPOOLES and PASTIX solvers…
Having built CalculiX with both the SPOOLES and PASTIX solvers (the story of the latter you can find in this topic), I have experienced that how (with which options) the libraries that CalculiX uses are built can matter a lot. For example, in the aforementioned topic, I eventually discovered that I had to build OpenBlas without threading but with locking! This was because CalculiX uses it in multiple threads.
Your “bad” version is using SPOOLES. As you can see in this repo, I had to apply 10 patches to the SPOOLES source code. Most of those patches originated from the FreeBSD ports tree. I added some extra patches to silence warnings. So the issue could be caused by the way the SPOOLES or BLAS library used were built. Unfortunately you cannot easily see that from the resulting binary.