Thanks for your replies.
I did not set the Slices or Frames fields of the opt structure since the help said the default was to write them all so perhaps that's not the issue. I did take a (very) brief look at the WriteBrik matlab code and it seems that HEAD_Rules.m returns Rules.Length = [] for the field BRICK_FLOAT_FACS so perhaps that could be the issue?
Daniel's suggestion to write the data as floats seems to work although at the expense of doubling the file size.
On a semi-related note, is there any chance of getting 3dFFT or 3dFourier to output complex and phase values for the time series? 3dFFT will do it for X,Y,Z but not time and the data are clearly available to 3dFourier but there is no way to ask it to spit them out to disk.
Best,
Mike