I don't recall how I learned about that, I guess maybe in some library of babel documentation somewhere. I confirmed it does work in 8.2.10, e.g. just with emacs -Q.
There are a few changes in org 9 to org-babel-lob-execute-maybe and org-babel-lob-get-info that seem to be the root cause of the change. Notably, org-babel-lob-get-info now returns nil where it used to return the "path" to the file and block.
So, if I put this into an org file
(progn
(re-search-forward "call")
(message "%s" (org-babel-lob-get-info))) ;<- execute here
#+call: remote-call.org:test-block()
These get returned
In 8.2.10: "(remote-call.org:test-block() nil 0 nil)"
In 9.1.6: "nil"
I am not sure what all the differences are, but it seems to be where the change in behavior came from.