TL;DR

I might have hit a bug in RRDTool.

In a nutshell, this:

wrong picture

should actually look much more like this:

correct picture

To read about the details, you can go straight to the Issue 1145, where I reported the bug.

The bottom line is that we might benefit from standing clear of using gradients, at least until the problem is solved.