It's my go-to language on CP/M. I use it to write utility programs because of its close coupling to APIs, making it ideal for system software. It has library routines for CPM 22 and CPM 3, and if you rename some you can build programs with appropriate linking to cope with both versions after a bdos version check.
I use v1.4 and it is robust, even on-error blocks work but are a bit quirky with respect to placement. My GITHUB RIWIDE repository has the PLI-80 v1.4 bundled with the source of my utilities, some commented as a learning tool. Hexdump.pli shows a variety of pli elements.
I am biased of course, I wrote a major project management package in PL/I on IBM systems before I got to CP/M. At the time it was before PLI-80 was known and I was committed to Pascal for some development work on CP/M but I would have loved to switch over.
These days I may use HiSoft / FTL/Lightspeed (if i've got the names right) Modula2 (Australian - no worries!) as sold on Amstrad PCW . It's in my Github Riwide repository, easier to use for programs coming across in Pascal, doesn't usually take much effort to port.
My favourite and robust Pascal was Transam (TCL) Pascal interpreter, most other Pascals (compilers and interpreters) failed me during porting of the Project Management systems from IBM to CP/M (Ithaca Intersystems S100) . I have not been able to locate a copy of TCL Pascal to add to my library. A huge regret - The RM 380Z version is similar and derived from it but not generic.
Richard