My mistake. Olet takes the accusative not only in the sense of 'to smell something', but also in the sense of 'to smell of something'.
So 'Marcus caseum olet' can mean either 'Marcus smells cheese' or 'Marcus smells of cheese'. However in the above case with 'valde', I guess 'of cheese' makes the most sense.
olfacio' (orolefacio') is used if you mean
detect something by smell' .Oleo' normally takes the accusative (as in the lesson's sentence) but, according to Lewis and Short,, the ablative is also possible, so `Marcus caseo olet' should not be marked wrong and, to my ears, that is what the speaker is actually saying!