I had a similar thing happen recently -- the itinerary had three segments and Mr. Easy Chicken actually only printed the first boarding pass! (Even though it was happy to find the reservation via either MP or OP# lookup.) When I talked to the agent, the other two boarding passes came out with my CO #. She changed it manually to MP on my request, but mentioned that the discrepancy was probably the reason the kiosk didn't print them all.
In my case, I think the CO number did autopopulate originally when I booked on co.com, and then I changed it later on CO's site, which caused it to push over to the UA reservation, at which point they both showed up on the UA site. My best guess is that there's something wrong with the sync process, such that it only updates your first segment with the number as modified by CO, rather than all of them. .bomb then seems to compound the confusion by showing both numbers indiscriminately at the bottom of the reservation. It would really be better if it would show them seg-by-seg, like it does for seats. (But this will probably go away soon anyway since SHARES appears to store the number at the reservation level.)
I have no idea why any of this would happen if you /never/ entered your OP # to begin with, though. Were you logged into co.com when you made the purchase? It could be that that alone stealthily inserts your OP # somewhere in the PNR...