Hi,
1 - It is a C-style function pointer, NOT a BPTR.
2 - NO, the function prototype is: void(*)(void). But you could send a kind of startup-message to the messageport you get as result of the successfull CreateNewProc(). This message will be send to the new process's pr_MsgPort.
3 - I would program a timeout-timer and start the child process from your main program and I would create a public messageport for communication between the child process and your main program. The child would send a message to this public port when it has started successfully. Your main program has to Wait() for the signals of this public messageport and the timerequest after the child has been created. If the timerequest returns before the child has notified the success/result via the public messageport the child has failed.
Noster