Can I add a <text> <openended> item between <page> items if I define them in the block?
No, you can't. An <openended> is a trial and must be run as such (via a <block>'s /trials attribute). A <page> is not.
Or, do I have to remove the <page> items and create <text> pages for the instructions instead, and define everything as a <trial>.
Yes, that would be one way.