51 and.... solved it.
The redstone clock that I normally use ended up switching to quick to make delays using repeaters possible. This meant that the most basic method of switching signals doesn't work (if that weren't the case I already had a working system before I made that last post).
So, here is how I fixed everything:
To get water, I used a dispenser. I hooked this up to a comparator, this way I could detect if the dispenser contained nothing, an empty bucket and a filled bucket.
Knowing what was inside I can easily unlock the hopper beneath it when the dispenser fills the bucket. (just a redstone torch at the correct distance away from the comparator)
To get said bucket emptied into the cauldron is another problem though as dispensers don't like cauldrons and mechanical users don't work with comparators.
To get around this I set the mechanical user up to only work if it has a redstone signal and like before put a hopper underneath it. The redstone that controls the hopper is the same as the one for the user, and comes from an redstone clock hooked up to a clock.
Redstone on -> user on, hopper off
Redstone off -> user off, hopper on
I also hooked up the dispenser to the same clock rather then doing something fancy with its comparator because lazy.