There is no such thing as "one solution to fit em all" for this case (as probably there is no such thing as universal solution for many other problems in UX design). My advice is never to combine comboboxes though - it is messy and misleading.
You need to think about what do you want your user to achieve. Next try think about what you try to achieve.
Lets talk real examples:
Take a look at Apple On-line Store. You have an endless possibility of different product combinations (HDD, RAM, hardware, software etc). Instead of choosing from number of comboboxes that are cross dependent, user is guided step by step through screens where he can create the product he wants (by combining options) and when it matters he receives a radio button list of finishing possibilities such as amount of RAM of HDD size.
(Here I've already selected form my product type (i.e.. iMac, Macbook Air, Macbook Pro, Pro with retina,..), it's basic configuration (CPU type and basic HDD size) and I am finishing my order)
As a next example lets talk about changing profile on a site. We want our user to fill out a form which contains a country of residence and a gender. You know that your site is only available in USA and Canada. So instead of creating two cross dependent combo boxes you can fit it all in a single one (in this case it will be easier for user to fill out one combined combobox instead if two cross dependent):

This is not a silver bullet either - once your system evolves and lets say you expand your market to 100 more countries this solution will be useless (you will end up with 200 item combobox which is a mess).
Now lets look at list with a huge amount of different well known (the fact that they are well known is important) possibilities. Lets say you have a huge list of countries, then you have huge list of cities and then you have huge list of hotels options in each depends on previous selection. Guys from ostrovok.ru solved this by combining all three lists into single flat one:

You can start by typing first letter of a country, a city or a hotel and system will bring all the possible combinations. This solution is kinda useless though if you have large lists of items which are not known to user (for example your user is selecting from a list of engine spare parts where parts are named with a serial numbers like AJ-789-HG, AJ-790-HG,... - in this case you will need to introduce a way to distinguish items from each other).
If you have two lists, first one is huge and the second one contains only few options, you can represent first one as a combobox and the second one as a set of buttons, disabling the ones that are inactive for the current selection. Lets say you have a transcoding software in which you chose a codec and a resolution; your lists could look like following:

As you can see there are limitless number of possibilities how to solve the issue you are facing (and as you can see there is no need in such blunt solution as combining comboboxes); the few I listed here as an example are not even the tip of the iceberg. Answering few simple questions like what problem are you trying to solve and what problem is your user trying to solve will help you find the right path.