Harriet,
> Question 1 - event vs block
It does not really matter much you would label each trial as long as you properly account for the duration. In your case, you can specify the trial duration through the basis function such as BLOCK(8,1). If the duration varies across trials, one solution is to use dmUBLOCK(-X)
> Question 2
You can use basis functions such as TENTzero and CSPLINzero.
> Question 3
Most of the time you're supposed to provide stimulus timing, and use the basis function to determine how you want to model/capture the hemodynamic response.
Gang