The simple answer to why we say 'when pigs fly' and not 'when pigs will fly' is that in English it is incorrect to use a future tense after 'when'. If you are using when to talk about an event in the past, then you use the appropriate past tense, otherwise it's always the present. Just one of those bizarre grammatical things...
It is fairly simple, really. English does not use will / would in time clauses.
Tell me when you come back.
He said he would tell me when he came back.
The real difficulty, if there is one, is the difference between :
-  Tell me when you come back (the question might have been anything, except the question in ; I want you to answer it on your return).
-  Tell me when you will come back (the question was : when will you be back? When can I expect to see you again? The when-clause in  is not a time clause, but a question).
I think you have to add that in English, you do not use the future in a declarative sentence that begins with 'when'. If it's an interrogative sentence or an indirect question, you can use the future after 'when'.
When will I see you again? (famous lyrics by the Three Degrees)
I don't know when I'll see him again. (indirect question)
When I see him again, I'm going to tell him how much I missed him. (no future tense)