On our membership site, I require session variables during registration and the prerequisite consequent checkout.

If someone denies the cookie for the session, I want to properly alter the user/register page request to stop normal process and indicate to the user the need to enable the cookie in order to proceed (or contact us if the problem isn't cookie related).

Plowing through forum posts recently, I thought I scanned someone saying it is a cardinal sin to break the page request (I don't remember where the post is, as it was in the course of looking for something else), denying modules the opportunity to run through their hooks.

If this is true, what is the proper way to code my use case?

I see no warning in the API regarding where not to use drupal_goto(), for example.

Can I use a page redirect anywhere in my module's hooks (e.g. hook_form_alter) on the condition that the session array is not set?

Is drupal_set_message() preferred if the alternate content fits in that space?