Even with the new "subprocess" system in tlclient, some things are written to stderr. The printouts are mostly in x11support.cc and ewmhints.cc, but there are also some "ERROR: sigaction() restore failed" in other files. My feeling is that these error messages should probably not be written to stderr, but to the log file and/or displayed in the GUI. Also, some "errors" in ewmhints are not really errors. For example, it's quite normal that _NET_WORKAREA doesn't exist, if you are running an old WM.