Disable woocommerce PLACE ORDER button if user selected products that are not available for international delivery

Since I do not have a great answer for you after checking logic above (seems okay).. something else I noticed.

add_action('woocommerce_update_order_review'  ...

Are you using the most recent update? I see no reference here docs.woothemes.com/wc-apidocs/hook-docs.html or on github depo for that do_action.

Here is the current layout for hooks/filters on form-checkout.php..
Are you sure you are using the correct add_action? (Woocommerce has abysmal documentation if you noticed). You want it also validated for your additional conditions (shipping class/shipping country) after they submit the “checkout-review”, correct? (And reject with message at that point if needed). Meaning: what if they update shipping on the checkout-review page (new submitted shipping values)?

An additional idea would to disallow adding to cart if shipping conditions match. (Remove ‘add to cart’ button and replace with a short message: “India Only” etc) thus avoiding it get put in cart in first place. Or leave the button and pop the msg when they click it. (obviously either of these options only will work if they have already entered shipping info previously).

Hope this helps a little bit..