It's not going to work being above the require once. it needs to be just after the add to cart code so that the page is redirected just before the search code can be executed.
you may also need to add exit just after the header function;
header("Location: ".$ifpaFletcherRegistration->redirStr);
exit;
the issue is that the search is being triggered when the add to cart button is pressed since the original search criteria are not posted with the add to cart, the session over written
another option is to change the method of thhe search for from GET to POST,
thgen change this code:
if ((isset($_GET["Search_x"]) && $_GET["Search_x"] != "")) {
to:
if ((isset($_POST["Search_x"]) && $_POST["Search_x"] != "")) {
which would prevent the search from being triggered with the add to cart.