The Restrictor attribute PX.Objects.PR.ProjectWithWarningsAttribute became an issue for me after adding an additional stage to my Project workflow. The additional stage required an appended/expanded version of the PXStringListAttribute for the Project Status field. This caused an issue with the ProjectWithWarningsAttribute. When pMProject.Status != "A" it calls
string text = new ProjectStatus.ListAttribute().ValueLabelDicapMProject.Status];
This causes a key not found in dictionary exception as my ProjectStatus_Ext is being used and contains keys not in the standard ProjectStatus ValueLabelDic.
My suggestion would be to use TryGetValue and to use the IsActive field in the project rather than checking if the Status field equals ‘A’.