After a few hours wasted and massive amounts of debug, I was missing a global variable that was needed. As the customer is not logged in, we need to manually set each of these global variables.
I was pulling the customer info from the database, but it was being saved in a different variable name.
$userinfo = func_userinfo($row['customerid'], 'C');
Just in case anyone wants to attempt this in the future, you must have these set for each loop as they are required for an order/cart to take place
# Change the "session" types
$login_type = 'C';
$current_area = 'C';
$cart = NULL; // Clear the Cart
I know the question was pretty vague, but we thought that it came down to xcart's built in functions taking over.
The things you find out after a fresh cup of coffee..