Hi,
I'm wondering if you have considered allowing for a local layer type that has .mpk as the data source, but with tiling support. When creating the package, you could define the scales in the same way as with a tiled package, or spesify the innermost scale (such as 1:625), and how many levels to use. If there is no tile for the spesific level/row/column, a tile cache is generated dynamically. This would in turn disable any dynamic features of the package, such as editing features and such, since the tiles would have different content than what has been modified. Would of course in turn need to disable changing different layer visibility, unless some clever tricks were implemented to merge the cache with the changes.
I have also noticed an issue in a map package, where if I navigate the map multiple times without waiting for the map images to be generated, the requests seem to stack up, and when I stop navigating the map it takes a while to get the final image. I suspect this is because the local service is busy generating the previous extents, and since the requests go over http, there is no way to inform it to stop generating maps. I also experience the same thing in my own custom layer implementations (that do not use http), and have been wishing for an overrideable method I can implement (or cancellation token) to stop the processing of non-pending tiles/extents.