Can you explain the constraint to use 2LO? There are ways to write sync apps that use OAuth2 and tokens, which has more current library and sample support. You can request "offline" access and save the refresh token in the client. Then you can continually sync that data for the user in question. Is the reason you need 2LO that you need to do this for an entire domain of users without prompting them?
In any case, the tasks api and 2LO should be compatible even if you're having issues with some libraries. I can't comment on the state of all the samples and libraries, but if you follow the steps to approve the tasks api scope for your client_id in ManageOAuthClients and you know the ids of your domain users, and you sign your requests properly, it should 'just work'