I'm not sure what it means now. I previously understood "varma" = "warm" which would mean "malvarma" = "cool", not "cold".
If you look up "varma" on Lernu, it does give "warm" as the translation. However, if you look up "malvarma" on Lernu, it gives "cold, bleak, chilly". When I look up "varma" on the Vortaro (http://vortaro.net/#varma) the definition is something like (my bad translation): "Causing to exist the characteristic sensation, which produces fire." That sounds like "hot" to me.
Then if you look up "varmega" it says roughly: "It's temperature is much higher than that of our body." This is very imprecise.
I think it's best just to accept that for this course varma/malvarma is hot/cold. I'm still not sure that's correct in general, but I'm not sure how to resolve it.
Not exactely. In some languages (French, German, that I am aware) the indefinite singular article and the numeral "one" are the same.
In English, just as you said yourself, they are different: "one" is exactely one, "a, an" is some not particular item, opposite to "the", a particular item.
In Esperanto, the indefinite singular article does not exist, and you can, for special purposes, use the numeral "unu" to mean "one". It's not the case here, so "a cold night" or "cold night" are correct.