It turns out it was a data issue and bad code in the ASPX/JavaScript. There was a query driven parameter, and the displayed value (Name field, not part of the key value) had two values the same. This apparently breaks the subscription functionality. It's a bug, but one we can work around (the report page itself had no issue with it).