There's no problem with that...
The logic is to check shoutbox flooding for members or if the user_ip exists as the last shout. If last shout = user_ip and the user does not have superadmin privilege, then it will count and compare the number shouts incurred successively against the flood interval settings. If it's less than the flood settings, the shout is accepted, if more than the flood interval, the shout is rejected. Super Admins therefore, based on the logic, can flood the shoutbox regardless of the IP.
If you will make it to && instead of ||, the code:
if (!$flood) $result = dbquery("INSERT INTO ".$db_prefix."shoutbox (shout_name, shout_message, shout_datestamp, shout_ip) VALUES ('$shout_name', '$shout_message', '".time()."', '".USER_IP."')");
will be useless, or should I say it will always allow any user to shout with no flooding control, since it should be set as true inside the condition if it meets the criteria.
I should say, there's really nothing wrong with the condition and the boolean is acceptable and logical.
That's just my point. Others may share their own... ;)