Supposing someone has a punctured lung that is filling up with blood, is cpr still possible?

Yes. Yes, but it is not likely to be successful. As the one lung fills, blood will spill into the other lung, and you will not be able to oxygenate the patient at all. Even putting in a breathing tube will only give limited protection. You need to control the bleeding, which is difficult in that situation.