I figured out the issue, and ESRI was able to reproduce it. The problem occurs when you drag an asynchronous tool to the map document as a tool layer, and then try to run the tool from there. The asynchronous tool doesn't execute correctly, but the synchronous tool does. Both synchronous and asynchronous tools run fine if you run them from the toolbox.