user22: Occasionally transactions will be broadcast to the network that will show in a 0/unconfirmed status in the Bitcoin client. It is also the case that from time to time for various reasons those transactions will never confirm. One known reason for such unconfirmed transactions is a double-spending attempt, though these are usually quickly resolved by the network. My question is twofold:

Is there any source of data or is there a known statistic stating what percent of transactions hit 0/unconfirmed and never progress beyond this state (i.e. are resolved as conflicts by the network).
Is there anything aside from a double-spending attempt that can produce a 0/unconfirmed transaction that does not confirm.

Please note that I am not referring to the "generated" transactions by which miners are paid, but rather a point-to-point transfer of bitcoins.

user4774: An orphaned transaction is formally a transaction that depends on a prior transaction that is not yet in the block chain or pool.  See the Protocol Rules.  These types of transactions are held back from the transaction pool until the prerequisite is met.  However, these types of transactions are very difficult to generate, the client won't generate such transaction, so you'd have to construct it manually.
The purpose of allowing them is because the protocol must allow for the possibility that it receives transactions in the wrong order.  Accidentally generating transactions in the wrong order is not possible as far as I know.
If you are referring to orphaned blocks, then you should not see transactions get orphaned in this way, the blocks that are accepted instead of the orphaned ones should also contain all of the same transactions.
Edit: The question has been rephrased.  The percentage of general transactions that never complete should be zero.  I've never heard of it and I've never seen it.  The two exceptions, as mentioned elsewhere are coin generation on orphaned blocks, and intentional double spend attempts (in which case the answer is "as many times as people try to double spend"). As I mention above, the reason for this is because general transactions do not become orphaned if a block chain branch becomes orphaned.

user85: I have watched for reports of a transaction that appeared live on the net that never got into a block. It has never happened, and I don't think it's likely to happen. The only practical way for it to happen is for the network to be split due to a connectivity problem or for a miner in cahoots with the person attempting the double-spend attack to mine a conflicting transaction (not accepted by the network) into a block before the transaction itself gets into a block.
I agree that accepting 0/unconfirmed transactions is sufficient for point of sale applications. Someone is very unlikely to attempt a double-spend in person for a few thousand dollars or less and is even more unlikely to succeed. (Update: Due to the risk of the Finney attack, I withdraw this argument.)
I think your guess is only reasonable within limits though. For big transactions, companies will sue people who charge them back. They can do the same thing with Bitcoin transactions if they ask for ID first. For face-to-face transactions, I don't think confirmations matter for transactions that aren't massive.
It's not a big deal for online transactions for a different reason. If we're talking a small payment for access to a web site, is anyone really going to bother with an attack? And does anyone care? Here, the percentage risk argument works. And for big online stuff, delivery's usually not immediate anyway (think PayPal, eBay, Amazon).

22: <p>Occasionally transactions will be broadcast to the network that will show in a 0/unconfirmed status in the Bitcoin client. It is also the case that from time to time for various reasons those transactions will never confirm. One known reason for such unconfirmed transactions is a double-spending attempt, though these are usually quickly resolved by the network. My question is twofold:</p>

<ol>
<li>Is there any source of data or is there a known statistic stating what percent of transactions hit 0/unconfirmed and never progress beyond this state (i.e. are resolved as conflicts by the network).</li>
<li>Is there anything aside from a double-spending attempt that can produce a 0/unconfirmed transaction that does not confirm.</li>
</ol>

<p>Please note that I am not referring to the "generated" transactions by which miners are paid, but rather a point-to-point transfer of bitcoins.</p>
 4774: <p>An orphaned transaction is formally a transaction that depends on a prior transaction that is not yet in the block chain or pool.  See the <a href="https://en.bitcoin.it/wiki/Protocol_rules" rel="nofollow">Protocol Rules</a>.  These types of transactions are held back from the transaction pool until the prerequisite is met.  However, these types of transactions are very difficult to generate, the client won't generate such transaction, so you'd have to construct it manually.</p>

<p>The purpose of allowing them is because the protocol must allow for the possibility that it receives transactions in the wrong order.  Accidentally generating transactions in the wrong order is not possible as far as I know.</p>

<p>If you are referring to orphaned blocks, then you should not see transactions get orphaned in this way, the blocks that are accepted instead of the orphaned ones should also contain all of the same transactions.</p>

<p>Edit: The question has been rephrased.  The percentage of general transactions that never complete should be zero.  I've never heard of it and I've never seen it.  The two exceptions, as mentioned elsewhere are coin generation on orphaned blocks, and intentional double spend attempts (in which case the answer is "as many times as people try to double spend"). As I mention above, the reason for this is because general transactions do not become orphaned if a block chain branch becomes orphaned.</p>
 85: <p>I have watched for reports of a transaction that appeared live on the net that never got into a block. It has never happened, and I don't think it's likely to happen. The only practical way for it to happen is for the network to be split due to a connectivity problem or for a miner in cahoots with the person attempting the double-spend attack to mine a conflicting transaction (not accepted by the network) into a block before the transaction itself gets into a block.</p>

<p>I agree that accepting 0/unconfirmed transactions is sufficient for point of sale applications. Someone is very unlikely to attempt a double-spend in person for a few thousand dollars or less and is even more unlikely to succeed. (<strong>Update</strong>: <em>Due to the risk of the <a href="https://bitcoin.stackexchange.com/questions/1192/would-a-reduced-block-generation-time-make-the-finney-attack-more-difficult/">Finney attack</a>, I withdraw this argument</em>.)</p>

<p>I think your guess is only reasonable within limits though. For big transactions, companies will sue people who charge them back. They can do the same thing with Bitcoin transactions if they ask for ID first. For face-to-face transactions, I don't think confirmations matter for transactions that aren't massive.</p>

<p>It's not a big deal for online transactions for a different reason. If we're talking a small payment for access to a web site, is anyone really going to bother with an attack? And does anyone care? Here, the percentage risk argument works. And for big online stuff, delivery's usually not immediate anyway (think PayPal, eBay, Amazon).</p>
