Have you just now discovered this problem, or did your heater valve recently work properly? The heater valve is indeed on the passenger side of the car. Yours looks pretty corroded. It may be that the valve or cable is stuck and not allowing you to open the valve all of the way- this certainly is suggested by the fact that your control lever will not move all of the way to the "warm" position. On the other hand the problem could be the result of poor (or no) flow of coolant through the heater core, because of blockage in the core or no input (i.e., coolant hose missing or blocked).
Have you tried to move the lever on the valve manually? I am suggesting that you reach your hand in there and try to move it toward the front of the car. Be careful, because if the valve is still mounted on the heater box by the plastic bracket, you could easily break that by applying too much pressure to the valve, particularly in the side-to-side direction.
Another approach would be to remove the cable clamp from the valve. It is possible to do this while the heater box is in the car, but difficult. Dunno what size the nut on the cable clamp is... maybe 6mm? If you can loosen that clamp, you can determine whether the valve or the cable is jammed (or both).
You might want to give this a read:
http://www.bmw2002faq.com/images/stories/faqs/heater_refurb/heater_box_removal_and_refurbishment.pdf
Would you recommend spraying WD40 or Carb Cleaner on the cable before trying to move it? Thanks.