I am surprised that no one mentioned one of the major reasons for the blockade (which might help explain why it was finally lifted). On June 20 1948 western powers unilaterally decided to switch to the new money (new German mark) in their zones of occupation while the Soviet zone continued to use previous reichsmark bills whose issue was controlled collectively by the allied powers. USSR objected to that step because this resulted in clear economical separation of the three "western" zones from the "eastern" one which went (in Soviet opinion) against Potsdam agreement about collective sovereinghty of the four allied powers over Germany.
People in western zones were allowed to exchange the old money for the new very gradually and the rates naturally started going up. But in the eastern zone they could still use the old money to buy the goods - and you can imagine that in 1948, in the country laying in ruins, that was huge. So the Germans, and especially those who lived close to the eastern zone, crowded the eastern sectors, sweeping away everything that was offered at the stores.
So Soviet administration decided to stop the flow - they simply could not afford it financially - hence the blockade commenced and then slowly spread from just auto vehicles to trains and then to air transport.
Seems that nobody wanted to back down - not to mention, the cold war has started already, allies were not allies anymore - so down the road the things were getting worse and situation was deteriorating further and further. In just 4 days blockade became absolute.
The "funny" thing that for some time after the blockade had started Soviets shipped some food and goods into Western Berlin - obviously using that as a propaganda tool, but for the Berliners who benefitted that was likely not the main point, they just wanted to survive. And then the government of West Berlin ... prohibited getting the food from eastern Berlin. For instance, government workers were being fired from their jobs if it was discovered they had been getting food and supplies from East Berlin... a sort of loyalty test, I guess. In August 1949 West Berlin government barricaded off Postdammerplatz where the major exchange of goods between the sectors had been organized, etc. USSR also used some underhanded tactics to try and undermine Western efforts.
Both sides pursued their political goals, and USSR was not a fluffy teddy bear either, by no means. However, the blockade was not something that Stalin just decided to do just because he was this super-villain bent on Communist world domination. As a matter of fact, it was rather a knee-jerk reaction to (probably) not very expected actions by USA-UK-France bloc.
Result - split of Germany into FRG and GDR in October 1949. So my explanation: Soviets stopped caring about the blockade mid-1949 because they have made the decision about the split. There was no more point to the blockade, since Germany would soon become two countries anyway, with real borders etc. And that's exactly what happened.
Sources:
Keiderling G. Die Berliner Krise 1948/49. Berlin (West), 1982
Беспалов В. А. «Блокада Берлина» и продовольственный вопрос: забытые аспекты, Вестник РГУ им. И. Канта, 2007 (in Russian)
Summary of the First Law of Currency Reform Promulgated by the Three Western Military Governors, Effective June 20, 1948, United States-Department of State. Documents on Germany 1944—1985. Washington: Department of State
Tripartite Statement Announcing Extension of the Western «Deutsche Mark» as Currency in the Western Sectors of Berlin, Effective June 24, 1948, United States-Department of State. Documents on Germany 1944—1985. Washington: Department of State
Dates and simple facts (like split of Germany, creation of NATO) do not need a citation, I am sure.