1. Update problem
On line 81, try changing
$WA_where_fieldValuesStr = "".$row_update_parents['id'] ."";
$WA_where_fieldValuesStr = "".$_GET['id'] ."";
It looks like the form is passing the url parameter correctly when submitted, so I think this will work
2. Persist problem
for the form values to persist, you need to set the value of each field to the WA validated Entries Value (you can do this by choosing the Init val in the field properties.)
eg - for the address field, instead of
value="<?php echo $row_update_parents['eaddress']; ?>"
it should look something like (please forgive any typos)
value="<?php echo((isset($_GET["invalid"])?ValidatedField("untitled","eaddress"):"".$row_update_parents ["eaddress"]."")); ?>"
This will set the field value to the value you passed for validation, - unless that is an empty string, otherwise it will set the field value to the value from the recordset
3. There is a server validation server behavior called 'unique database value' which should be able to achieve this