Calling mysqli_stmt::close
will:
Closes a prepared statement. mysqli_stmt_close() also deallocates the statement handle.
therefore not being able to use the cached version of the statement for further executions. I wouldn't mind of freeing resources or closing statements since PHP will do it for you at the end of the script anyway.
Also if you are working with loops (as you described) take a look at mysqli_stmt::reset which will reset the prepared statement to its original state (after the prepare call).