Here are my theories; perhaps someone smarter than me can tell me which one or ones are right, or what I'm missing.
Do all the companies that need mainframes already have them? Are the existing outsourcing models satisfying the needs of the market? Perhaps. However having done consulting work for companies who are mainframe based, I know there is a desire to have a variable allocation (and thus cost) of mainframe resources (most often measured in MIPS) rather than pay for a fixed allocation. IT needs prices to reflect workload and that cannot happen in a fixed price environment, especially one where, like cell phone plans, you pay a higher penalty price for exceeding your allotment.
Mainframes assume local access to data and processing power; a truly centralized model. Perhaps this architecture is the limiting factor. Companies would need to send their data to the cloud providers for processing. However this same problem exists in the virtual machine world of cloud so unless all mainframe apps are data hogs at the top 10% of the scale it has to be a wash.
Owning and operating a mainframe is expensive. Specialists, air conditioning, power, and footprint are all on a larger scale with a mainframe than typical blade or "pizza box" servers. Perhaps there's not a viable economic model to deliver mainframe resources. However the costs of an internal or outsourced mainframe have to be comparable. At worst the cost of operating a mainframe at a cloud provider would be equivalent to an outsourced model. Although a premium would be charged to provide a resource on a "taxicab" model (or perhaps "rental car" model), it seems the cost avoidance opportunity to purchasing a new mainframe or supporting an existing mainframe would be of value.
Would the cost of elastic and efficient mainframe resources be high enough to justify the cost? Is there enough load in complimentary usage patterns to enable a mainframe to be fully utilized enabling a lower cost per unit resource? Traditionally mainframes operated in the 60 -70% utilization category implying tremendous potential to consolidate 1 in 3 netting a 33% reduction. It seems like the benefit would be significant.
In the end I believe the issue is leadership, or the lack thereof. IBM has never been a leader in cloud and has struggled to be relevant despite having created the concept of virtualization. I honestly believe the zSeries team at IBM has kept the mainframe out of the cloud discussion out of fear, uncertainty and doubt. Nobody has emerged on the z team to champion cloud with the mainframe. The arguments always seem to fall short, just after loading some version of Linux onto the z platform. If the home team can't support the concept and get excited, it's hard to expect anyone else to want to take the risk.
What's funny to me is how many older IT staffers equate cloud to the mainframe. To me it's a gross oversimplification that glosses over significant differences, such as the one between centralization and distribution of resources. However I can definitely see some similarities, such as not caring how the cpu, RAM, and storage resources are marshalled to satisfy a request. Some of that is through automation, some through the magic man behind the curtain (the support team). When a developer doesn't care, things are just available, it looks pretty cloud like.