Hi Andy,
Personally I think it is a good idea to check the magic number at the time your application starts up (stand alone app or server app - as you said, there is no point checking it for each client).
If you don't do this, then you have no assurances that the data you are reading in is actually making sense. If you ignore the magic cookie, and hard code the field sizes
(I am recommending
against both practices by the way), then it would be possible for your program to appear to run on
any input, but produce absolutely meaningless results.
You should not have to worry about some other application changing the underlying database while you are using it - the instructions have a line stating that "
at any moment, at most one program is accessing the database file".
Regards, Andrew