I'm a fan of fluent design myself, and dislike flags.
return foo().baz().bar();
With flags you start with success/fail, and end up with HRESULT. return foo().baz().bar();
With flags you start with success/fail, and end up with HRESULT.