I was able to debug the Icicles interaction bug:
In org-dblock-write:clocktable there's a check ((pred functionp)
(funcall scope)) which checks whether the scope is a function. Since the
default scope is currently "file", it gets funcalled. Icicles provides a
function called file. There it can be disabled by setting (setq
icicle-define-alias-commands-flag nil), but getting to that would
generally mean that the user ran into some problems and did the same
debugging I had to do.
I'm not 100% sure but I'd rather prefer org not calling any functions
with generic names like "file" or "subtree", so maybe prepending some
predicate on a call is warranted, so instead of "file", something like
"org-scope-file" would get checked, but I don't really understand the
intended use of this feature.
As for dynamic reloading, I retested and can confirm that it's broken
since 69c300bbf. To repeat, start with elpa org, add master org to the
load path, do org-reload.
--
Best Regards,
Nikolay Kudryavtsev