Thanks for getting in touch. I suspect the issue could be that your package ID isn't able to be resolved at release creation. In addition to your 2 environment-scoped packageName variables, could you try creating a new unscoped variable with the value ClientName.Application (which I assume is the package name intended for your DEV environment)? This should get your scoped variables to evaluate to the correct package name for each environment.
Thanks for following up. The unscoped variable is required for the package ID to be resolved at release creation time. The environment scoped variable will resolve when deploying to that environment. So if you have two environments (TEST and PROD), you can do this with only two variables:
1) Unscoped variable with value of package ID for your TEST environment (ClientName.Application-Develop)
2) PROD-scoped variable with value of package ID for your PROD environment (ClientName.Application)
You can have one scoped to TEST as well, but that one isn't necessary if that's the first environment in your lifecycle, as it should automatically resolve to the value of the unscoped variable.
I hope that helps! Let me know how you go with testing this and if you have any further questions. :)