Did you get your roof problem resolved?
I had a similar problem with the roof only going half way up.
I also looked at the cylinders and checked the fluid in the pump, but it was nothing to do with that.
Around the same time, the driver door window had stripped the teeth on the winding mechanism and would bump several time when at the top. It didn't occur to me that this would be anything to do with the roof but it's quite logical and clever really.
For the roof to operate, it needs to know where the window is.
I'm no expert but I believe that on early models there are window limit switches that let the roof controller know when the window is up or down. On later models like mine it counts the motor rotations.
So, when I wound up the window the motor turn too many time when the teeth stripped. This means it was unsafe to put the roof up as it could hit the window.
The roof would appear to work but stopped when in the vertical position and would then slowly fall back.
From memory, if the roof was in the fully up and closed position, it would not release from the header rail and had to be done manually.
To fix mine, I did a weld repair to the window winder teeth. Then, with the roof in the up position, I put the window up and held the switch for a few seconds to reset the top position. After that the roof was back to operating correctly.
I realise this may be different from your problem but the fact that the roof controller is looking for the window position may be connected.