Can someone explain in detail how p2pool payout works? From reading the wiki on https://en.bitcoin.it/wiki/P2Pool#Donating_to_P2Pool_miners I got the impression that the pool members included each of the share payments directly in the coinbase generation transaction as multiple txouts.  But after spending some time looking at  example p2pool blocks (for example this one:
https://blockchain.info/block/000000000000000007508100b6d96c3e1d1016835db41a32532d53ebd0207039)
I see that the whole output goes to one wallet (starting with 1KFEH7...). (EDIT: My error this was a F2Pool not P2Pool. Actual P2Pool coinbase do pay to multiple txouts.) In some blocks I do see this wallet sending money to many people  (but not in this example one) but this leads to a couple questions:

1) How does the system enforce these payouts?
2) How does the system get it's intitial seed money for the first payouts?
Are you sure the link you gave is for a P2Pool block? I just found this resource which lists the blocks solved by the P2Pool. This was the top block listed, and it has many outputs in the generation transaction, paying to each of the miners in a pool who contributed to the share chain within the last N blocks (N is some pool-specific number). 


  1) How does the system enforce these payouts?


As far as I understand it, blocks on the share chain are only accepted by the other members of the P2Pool if they have appropriate payouts. So, while you could make a block that pays all to you, you wouldn't get that block accepted on the share chain, and you wouldn't get credit for your work. To have the appropriate payouts, the block must split up the reward to each of the solvers of the last N blocks. If a miner has multiple shares in the share chain within the last N blocks, their payouts can be grouped into one transaction output. 


  2) How does the system get it's initial seed money for the first payouts?


P2Pool works with PPLNS (Pay per last N shares), which is pool hopping resistant. P2Pool also doesn't give any payouts until someone in the pool solves a block. Essentially, all pool payouts are awarded in an actual bitcoin block, so there's no need to have a fund to distribute rewards set up ahead of time.