Usually you can set up the delete record server behavior to be based on the users ID and not use a separate recordset at all. The delete record server behavior will delete multiple records if you use a key that isn't unique like the userID.
So for instance... your first delete wouldn't be:
$DeleteQuery->Table = "bucGrade";
$DeleteQuery->addFilter("gra_ID", "=", "i", "".((isset($_POST["WADADeleteMygradesID"]))?$_POST["WADADeleteMygradesID"]:"") ."");
it would be:
$DeleteQuery->Table = "bucGrade";
$DeleteQuery->addFilter("gra_userID", "=", "i", "".($_SESSION['SecurityAssist_UserID']) ."");
Then you don't need any recordsets or hidden fields at all.