I agree that el.SetFillStyle(0); should be enough but the way TEllipsePaint is coded is that way (it tests the FillColor) . I will see how to check the FillStyle without breacking the backward compatibility (it is like that since at least year 2000)
In the case of an open ellipse the FillStyle was used. So in the case of a closed ellipse (like yours) it was clearly a bug to test the FillColor. I have fixed that. Thanks to have reported it. Now the fill style is used.