nciku.com states that 起码 is an adjective meaning "minimum" and 至少 is an adverb meaning at least； but the examples seem to use both words interchangeably. Is one more colloquial than the other? Or is one used only for numerical amounts( It should cost at least $10) and the other for concepts/situations such as "At least the bus isn't late"?
Both 起碼 and 至少 mean "minimum" and "least". They both can be used either as adjectives or as adverbs.
最起碼 is valid, but because 至 means 最. 最至少 is invalid (just like "the least least" and "the most least" are invalid).
至少 has a rarely-used meaning of "very less", which can not be replaced by 起碼.
至少 is a little more formal than 起碼. But in the legal documents, 以上 ("equals to or more than") is more widely used.
"至少" accents on the amount, for example, "我想这人至少五十了", and "起码" accents on the thing, for example, "吃饭前起码完成一半工作".
But they are always OK to exchange each other. But there is still a very very very little difference on emotion, "至少" has the meaning of "Absolutely", and used for accurate description or certain emotion, and "起码" has the emotion of pray for something, or contentment.