• Applications using OLE DB/ODBC/ADO.NET can use prepared sql statements and that's what sp_prepexec is essentially. The output parameter is the handle for the prepared sql statement so that if the application runs the same statement many times it can just use the handle when calling sp_execute although usually you will see sp_prepare followed by sp_execute, not sp_prepexec.

    For the second one:

    sp_prepexecrpc is used by ODBC to call a stored procedure. I'm guessing the 3 variables you mention are additional parameters required for the stored procedure, ng_update_person.

    The next 3 questions are a bit harder to answer especially since only 1 is a select and the other 2 are an insert and a delete. I can't tell you what the application does with the results of the select statement. I assume it displays the data in some form to the user.

    The last questions about why trace start shows later would probably be because the results are not ordered by time, but by event class.