As a German, my experience is that the typical use of "wenn" is more often synonymous to the English "if", rather than the English "when". The meaning of "wenn" is contextual. Using "wenn" to for conditionals is not a mistake of everyday speech but rather a feature of the language.
The other German word "falls" is sometimes also translated as "if" but it carries a slightly different connotation. In typical use "falls" is used for an unlikely condition: "falls es morgen regnen sollte" -> "if it were to rain tomorrow". If "wenn" was used instead of "falls", the connotation would be more like a 50/50 probability. In the end, the if/when split of English is really not the same as the falls/wenn split of German. For computer programming "wenn" would likely have been preferred by German programmers.
I always understood "falls" as "in case" (as in, preparing for a slightly unlikely outcome), but my German is weak.
Interesting. As a native speaker I always thought that "wenn" for the conditional case was only colloquial, but I couldn't find any real evidence for that. So, you are right about that and also about what you said for "falls".