I suppose you could wrap your validation errors with the same if statement:
<%
If Request.QueryString("fail") = "yes" Then
%>
your error code here
<%
end if
%>
to solve the problem with the error messages.
Actually, I found the proper solution to this in another thread.
You need to put this after the closing html tag on your page:
<?php
if(isset($_SESSION['WAVT_usersInsert_405_Errors'])) {
unset($_SESSION['WAVT_usersInsert_405_Errors']);
}
?>
of course WAVT_usersInsert_405_Errors needs to be changed to the name of your validation session variable.
This is something that the validation toolkit should be adding on its own, but is not.