Can you always get hot air out when you set the control to hot? Does it then always return to cooler air when you set it to cold? If so, it is probably not the blend air door. If you have auto climate control, then there is a diagnostic test that you can run from the control head to verify the blend air door operation.
My theory is that the compressor is not pumping enough, and that is why the mechanic was fooled into replacing the expansion valve. The faster the engine speed, the more the compressor will pump. Another thing to check is the engine cooling fan. It should be at full speed at idle with the AC on.