For some reason the forum appears to have lost my post to this this morning. Here's the bottom line, much shortened. I would:
Set Variable [$MemOrCand ; members:: Mem_Can]
Set Variable [$RecordID ; RecordID ]
Enter Find Mode
Set Field [members:: Mem_Can ; $MemOrCand ]
Go to Record [First ]
Exit Loop If [RecordId = $RecordID ]
Go to Record [Next ]
I'd also check for $MemOrCan being blank.
I couldn't see where you set the variable $LastName
I would have thought you need Exit Script steps at the end of the first two finds - the script will always perform the last find.