· From the SDK for the TASK_START_DATE – Read-only, except when the task is created. The TASK_START_DATE and TASK_FINISH_DATE fields are calculated by the The scheduling engine calculates the start date based on the task dependencies, the project calendar, and other task constraints. If resources are assigned, the scheduling engine also considers the resource calendar and assignment units.
This sums it up pretty well, but worth having a play around inside Project Professional to get used to the scheduling engine before trying to do some of this stuff programmatically. This may save a great deal of fighting against it later. Likewise from the SDK on TASK_PCT_COMP –
When a task is created, the percent complete is zero. TASK_PCT_COMP is calculated when you enter actual duration, remaining duration, or actual work (which affects actual duration).
If the % Complete field is set to a value greater than zero, the Actual Start field is set to the scheduled start date if you have not yet entered an actual start date. If the % Complete field is set to 100, the Actual Finish field is set to the scheduled finish date.
If you type a value in the % Complete field, Project automatically calculates actual duration and remaining duration. Entering a value in the Actual Duration or Remaining Duration field automatically recalculates the other fields.
So in this case you can set actual work and remaining work and these read-only fields will respond.
I hope this helps,