Hi,
Just to complete advices, i'd like to relate another possibility.
I experimented what follow:
I correctly made my bed levelling
At each print, i was still away by 0.5 cm !!
I first thought i was doing something wrong. I made it 5 times and was always away from the plate by 0.5 cm !
So i decided to check my model. It was a sketchup model. It turns out i had a tube with reverted faces à 0.5 cm of the bed level. I reverted the faces, exported the STL again and made the gcode with Cura.
It turns out this was the problem and never had bed levelling problem again.
Hope that helps !