Surely the cost of CS/CDS is far less than the cost of PLO. In my opinion, if you know that you can use transactional execution (which would be the case if you're on z/OS 2.3 or later *and* you know that you are not running z/OS under z/VM 6.3 or earlier), then you should never use PLO. A TBEGINC transaction, in particular, is so much more understandable and easy to code. (Unlike TBEGIN, assuming you can meet the constraints, you don't need a fallback path). Unlike PLO which serializes only against other PLO's (it does not serialize against CS/CDS), a transaction serializes against everything, in effect.
I did not see mention of the interlocked access facilities. These are what makes things like "OI" work without needing to serialize via CS/CDS. Many of us grew up with machines where OI and some other instructions were done in multiple stages, and at just the wrong point could result in lost data if CS/CDS was being used. You could not mix and match. If on a new enough z/OS, you can rely on the interlocked access facilities being available. Peter Relson z/OS Core Technology Design