There seems to be a small bug with certain values returning from the EventData in CRM script. I have found that if I select a project, on an appointment, the EventData for CurrentEntity.Project.ProjectId gets correctly updated, but the other project fields such as CurrentEntity.Project.TypeId and CurrentEntity.Project.ProjectNumber do not get correctly updated.
If I then re-edit the appointment without changing the project, these values are correct, but it means that you cannot reliably use these values to check things such as the project type.
For now I will have to get the project id and use the search engine. But I thought it would be worth reporting as a bug.