Just in case anyone else is still interested (and in case I need to re-set this up again from scratch):
My Advanced Filter that I had was in fact failing because during the day those tasks with @Evening contexts where still appearing.
So I have changed it to:
((Starred) AND (Context does not contain @Evenings) AND (Context does not contain @Someday)) OR
((Starred) AND (Contexts contains (consider open/closed state) @Evenings) AND (Contexts does not contain @Someday)
Deconstructing this we have:
A) For during the day a task must be starred, and must not have an @Evenings context
==> If starred without @Evenings, it will appear
==> If starred WITH @Evenings, it will NOT appear
B) For during the evenings again it must be starred but if @Evenings is open then it will appear.
==> If starred without @Evenings, it will appear
==> If starred WITH @Evenings, it WILL appear
Either way, it will not appear if it has @Someday context.
I'll need to double-check the above, this evening.
Fingers crossed!
J