OK, I managed to get it working when I created my query and included the various PKs and FKs. Here is the new SQL:
Some questions:
1 - Has the inclusion of the PK's made the difference, or was it the FK's (I've not had time to fiddle around as yet)?
2 - Why wouldn't it work without either...