PrepareTimesheetLine() and QueueUpdateTimesheet() will update TS_ACT_COMMENT but not TS_ACT_VALUE.
When I enter the same Actual Value via the PWA OOB Timesheet View, it updates correctly so I know there are no issues with the Project or availability.
Could it be a security issue, possibly that the call to QueueUpdateTimesheet() is coming from the custom Web Part via a User like NT AUTHORITY/ANONYMOUS ? What User is used for those calls that go through "/_vti_bin/PSI/ProjectServer.svc" vs the User that is used in the PWA Timesheet View ?
Any other suggestions?