A: 

Try making an "index" table of the month & company (I don't know if that is the right term for this. That's just what I call it). Make right joins from your index table to the actual data.

Your index table will look like:

Month Company
2010-01 Company A
2010-01 Company B
2010-01 Company C
2010-01 Company D
2010-02 Company A
2010-02 Company B
2010-02 Company C
2010-02 Company D
2010-03 Company A
...

Edit
Since it's a right join, you'll see all 4 companies each month whether or not they have data. Also, since you're hardcoding the months to the table, you'll have to update your index table periodically, but thanks to the wonders of copy,paste, and backspace, you should only have to do this every few centuries.

PowerUser
All sorted now, I used the principle of this technique but created a helper table of just the months and then used a cross join in my query
Perfect :) I was thinking of suggesting that, but since I don't know your skill level, I thought it better to keep the suggestion simple for now.
PowerUser