Bitcoin is a consensus-building network. There cannot be a reliable zero-confirmation system using the Bitcoin network alone, because it can't build consensus that quickly. The whole point of it is that your confidence in the transaction can grow exponentially as a function of work done (#confirmations), but if it has zero work then there is no confidence in it. At the end of the day, it's that simple -- you can't be confident until your transaction is buried in proof-of-work, which means it must have confirmations.
That's not to say that there will never be hope for zero-confirmation transactions: it just means that they will never be (and never were) suitable for zero-trust exchanges without external services. There are some cool things you can do with locktime and alternate sighash codes, but they all build off already-confirmed transactions -- they require seeding a contract with an already-confirmed tx! Third-parties may provide mechanisms to help people transaction instantly, and they may take a fee for it. But you won't get there with the network rules alone.
We need to get away from this wishful thinking that we can somehow adapt this proof-of-work system to work with transactions that have no proof-of-work. There's still use for them, just not zero-trust transactions (i.e. if my coworker sends me money to cover the lunch tab, I can be confident with the zero-conf, because I can go to his cubicle and punch him later if he double spends, etc -- this is not a zero-trust situation.).