Someone name Bjorg found this bug with CheckSpelling and posted it to the newsgroups. Take a function like this
Function ChSp(sWord As String) As Boolean
ChSp = Application.CheckSpelling(sWord)
If you call this function from another procedure, it returns the correct result. If, however, you call it from a worksheet cell, it always returns FALSE. Tested in 2000, XP, and 2003, all with the same result.