No worries.. I was exporting to a bunch of Excel (VBA) macros which produced a set of pretty league tables. I've now re-written the offending macros to understand the PokerDIY XML format, however, I think I've noticed that the "PlayerID" token doesn't get written to the resulting XML file.
In the PokerDIY export the PlayerID node is given an empty value. I don't believe this is a bug. I think it's a requirement, something to do with the difference between the way the TD stores tournament info vs. the way the PokerDIY site stores tournament info, but I can't recall any specifics. Anyway, the ExternalPlayerID holds the player's internal ID (UUID or GUID) if that's what you're looking for.
Fair enough..

A couple of other questions/observations..
Custom Screens:
Embedded images which are sized to the same size as the display result in scroll bars being displayed.
i.e.. if you create a custom screen with a "Source" of embedded and insert the following html:
<img src="file://c:\my_dodgy_picture.jpg" width="1920px" height="1080px">
Previous versions would resize the image to the specified size (and not show scroll bars) - Beta3 resizes, but displays scroll bars.
Reducing the image size by the width of the scroll bars (20px I believe) will display the image without scroll bars

, but it no longer fills the display

.
Events:
I've got an event to play an announcement when the table balance suggestion is accepted:
Trigger: The Clock Ticks
Conditions: isRound and (state=2) and ((time - lastPlayerMoveTime) = 1)
This works fine with previous versions, but fails to trigger with Beta3... the "(time - lastPlayerMoveTime) = 1" is never satisfied
Rather than using this horrible condition, any chance of a specific trigger "A table balance is ACCEPTED" ?