Well, you didn't mention anything about what platform and object format you're using so I don't think you're going to get any definitive answers.
I'm using MacOSX + gcc4. What do you mean by object format? Also, I tried discarding the first 16 bytes as you suggested. It looks like a different set of data is changing each time, but the file size remains the same. So this method won't work. Perhaps it is something in addition to (or instead of) the timestamp that is changing each time? Any help here is greatly appreciated. ~Caleb