@timb has a beta version of pulseIn() working that you can find in this thread:
Since this was created, the Spark cloud connection has been modified to take advantage of any delay() calls that you have. I don’t think this version of pulseIn() takes that into account yet.