Just wanting to add that I found the issue with the XLS file is related to cells being written to twice in the code (according to the WriteExcel author id:710537 - check the link later on in the thread by him pointing to the Google Groups thread).
So I went hunting, added an extra $row+=1 in early on in the piece in order to see what's going on... and it appears that my duplicate logic is working, to a point - with the additional line increasing my row number, I now get still just the Year and PO number - but I am getting one each for each of the PO's in the DATA. I put an extra few duplicates of the same data in to check - and still only got one copy of each of the Year and PO's... so I guess that's kinda a good thing. Now just need to work out why it's skipping the rest, so now I'm off to go about pulling it apart again to try and work this out...
Scarily, I think I'm starting to enjoy this... lol