I've been working through the chapters over the last couple of days and have the following comments.
After finishing Chap 6 on CMP, I was wondering where the EJB QL was defined and how its installed in the CMPRoster app. The author might want to discuss this in more detail. As it is now, I'll have to hunt for some XML files which define EJB QL (I think. I'm guessing the XML files are where I'll find it.)
In Chap 7 on Web Services, I had some difficulties compiling/deploying back and forth on the WSClient, the tcpmon, and the util/AccountDetails. It turns out the effort was made simpler when I removed the inclusion of *.wsr from the assemble-app target of the jboss-build.xml file. Sec 7.2.2 1st paragraph talks about best practice of including the .wsr "in a single unit". You should review this area because when I followed the steps and re-compiled and re-deployed the bank app and the WSClient to use the tcpmon, the bank app had a .wsr in it which "competes" the deploy-wsr target in the build file.
EJBQL is defined in the EJB 2.0 specification. That's where you'll find it.