The cast bit is a bug - they'll never successfully fill a bucket with water to make the cast. The only way for casts to succeed is for the doctor to get the 'go fill a bucket with water' part of the task, grab a bucket, and have that bucket *already* have water in it. One way to make this happen is to designate a pond to be filled somewhere. When you see the dwarf run off to the water source (ideally the same one as the doc went to), forbid the pond-filler's bucket after it has some water in it. After it's been dropped, unforbid it, and forbid the cast-doctor's bucket. The should then pick the 'closest' available bucket to try again, which will hopefully be your former pond-filler's bucket.
Dwarves seem to heal to a degree on their own, and this can cause conflicts with doctoring. If the dwarf heals enough to think they can work again, and gets 'disturbed' by anything, they seem to cancel their rest and go about their duties, regardless of their actual medical state. Sometimes this just means you've got red + blinking dwarves running around successfully for years, other times its suicide, with the dwarf dying of their injuries or from infection in time. It seems to have been the fix to the previous "infinite suture/dress" bug, where if the wound was diagnosed as needing treatment, but healed before the treatment was applied, the treatment would go on indefinitely. So it's an improvement, but still less than ideal.