A little late to the party here but as a former CIBC employee for five years, here's some information that may be useful to btimbit and others.
Certified cheque, bank draft, and money orders are all similar in that they are considered "guaranteed funds".
A certified cheque is one that has been drawn on a person or businesses actual account and then taken to the bank to be certified. This involves the bank moving the funds from that account to a bank account (a sticker with this account # is placed over the account number on the cheque). At CIBC this cost more than a bank draft and could only be done at the home branch. Really only useful for a business where the account signatory(s) couldn't (or wouldn't) go to the branch to get a draft themselves. Typically larger companies do this.
Bank drafts and money orders are the same thing, the only difference is the amount. If the amount was over $5000 it would be a bank draft. If under, a money order. If exactly $5000 either could be used. I believe the differences for this are for account monitoring (drafts and money orders have different account numbers) for money laundering purposes.
So basically, in all three cases, the money has been taken out of the account for the person who has written the cheque and put into an account controlled by the institution. This is how the funds are guaranteed. Having said that, with counterfitting being what it is, these cheques still need to be confirmed before the funds can be released. At CIBC all it would take was for the tellar to look up the phone number for the branch that issued the certified cheque/bank draft and give them a call to verify it. Once this was done, the cheque/draft could be deposited without a hold. What I'm confused about is why the intial teller btimbit dealt with didn't do this. The second person (the faux manager - did this person say they were the manager or did the teller say "I'll go get the manager" and then brought that person?) may have tried to do this but was possibly unable to get a hold of anyone at BMO and instead of telling you that decided to pass the buck. Unfortunately there are a lot of people at CIBC that prefer to pass the buck rather than be honest (part of the reason I left).
I assume the branch manager was able to reach someone or at least left a message for someone to verify this cheque. If that fails, as was already mentioned, go to a BMO branch. They may have to do the same thing in verifying it (counterfitting really is a pain for honest people) but should be able to release it. They may not have to verify it though as their systems may not be stuck in the 80's like much of CIBC.
I also saw payroll and Government of Canada cheques discussed. Unless things have changed (and it's possible, I did leave a few years ago), the rule was that up to $1500 (or possibly $2500, I don't recall as I didn't deal with these ofen) can be released immediately for payroll cheques and up to $5000 for Government of Canada cheques. This was on top of whatever access you already had on your account, so if you could access up to $1000 of what you deposited, then for a Government cheque you would have access to $6000.
As a final note, with debit card skimming blowing up like it did most banks have drastically dropped the amount you can access immediately. Even if your credit is sparkling, new accounts are often restricted to the first $1000-$2000. This can be increased but usually only if you are a high value client with a specific financial advisor that you have built a relationship with. If you are a new client you're probably SOL. Banks will often try to get you to lower high limits on existing accounts as well. I've had CIBC try to get me to lower mine "for my own protection" several times. They can pound sand on that one.
TL

R Certified cheques, bank drafts, and money orders are all guaranteed funds. The bank has to verify that the cheque is legitimate but can release the funds.