1. A system, comprising: a plurality of computing nodes that collectively provide virtual computing services and storage services to one or more clients of a service provider, each of the computing nodes comprising at least one processor and a memory; and a virtualized computing resource instance executing on one of the computing nodes; wherein the virtualized computing resource instance implements a virtual desktop instance on behalf of a given end user that receives services from the service provider, and wherein an application delivery agent and one or more desktop applications are installed on the virtual desktop instance; wherein one or more of the plurality of computing nodes implement an application fulfillment platform; wherein the application delivery agent is configured to store application state data or scratch data generated by one of the one or more desktop applications to a secure location on storage resources of the service provider; and wherein, in response to a new virtual desktop instance being provisioned on behalf of the given end user, an application delivery agent installed on the new virtual desktop instance is configured to: determine that the given end user is entitled to the one of the one or more desktop applications; obtain the one of the one or more desktop applications from the application fulfillment platform; reinstall the one of the one or more desktop applications on the new virtual desktop instance; obtain information from the application fulfillment platform indicating the secure location at which the application state data or scratch data was stored; retrieve the application state data or scratch data from the secure location at which it was stored; and attach the application state data or scratch data to the reinstalled desktop application on the new virtual desktop instance.