I emailed Adam directly with an experimental package I wrote to
solve the problem of changing the todo-state of an entry at an
arbitrary time.
He suggested I posted here as well:
https://github.com/progfolio/epoch/
The package advises current-time to return `epoch-current-time' if
is set (falling back to the usual current-time if not).
A macro, `epoch-with-time' is provided which allows a body to be
executed with current-time set to an arbitrary time.
Two commands (which I may separate into their own package),
`epoch-todo' and `epoch-agenda-todo' call their respective
org-mode commands.
`org-read-date' is called with the tasks's SCHEDULED or DEADLINE
time pre-populated so one can easily edit relative to that time.
Still very much a work in progress, but the two commands are
useful for me so far.
Any ideas, suggestions, criticisms are appreciated.