Hi,
Francesco, unfortunately i don't have any patch for your case. I have seen this kind of behavior in some of our other clients too. It is what it is and It is a server thing.
The "validation" function fails to work in some servers. The way it validates the user's situation is actually not based on "logging in" but based on if any address information has been entered or not, because if the visitor fills out the "Guest checkout", theoretically he/she won't be logged in, but an address info would be entered.
It is easy to check if the user logged in or not by using Joomla global queries, but it is hard to validate if the visitor enter any address information and a custom function is required. i have no logical explanation about why some server block this custom function. Since my live and localhost servers don't do it, i can't figure out what might cause this failure, i need to see the logs, run some tests and find an alternative way to avoid this failure.
So all in all; this is what it is.
Probably If you try to install the PureMart to your http://localhost you would instantly notice everything is as expected.
Regards.
Support & Development