I think that the issue is with hibernate which always converts the date object into local (set on jvm) time zone before persisting it. For now you could make use of event listeners that are triggered on various situations (task added, claimed, completed, etc) So you could use this mechanism to extend default behavior and add required data. Next use event tables for queries - as I would call it some sort of reports.
HTH