You are right about "hồi nào": it is only used in past tense. In addition, it may mean a little negative, like "When did you learn Vietnamese? You didn't learn that, as I remember."
"Khi nào" is used for any tense. Hence this sentence is not clear about the time - future or past, which also makes sense because the asker asks because he does not know.