Depends on how you save the file. If you save the files as time-stamped in the name (i.e filenames like: 1234567890.pdf or 20080131231500.pdf) then no, each person gets their own file. Typically, this is the best thing to do. Then you just have a garbage collection task run daily (or however long the interval is you want) which deletes all files older than XX days, weeks or months.
If you only plan on using one file to write to, then if user A writes to the PDF, then waits, and user B starts to write to the file, what should happen is that a "lock" is placed on the pdf and PHP isn't able to read from it. That would take care of downloading a file while it's being edited. But, at the same time, user A could wait for the "lock" to be lifted and then download the PDF that user B has now created.
Typically, a better way to go is to create a PDF and either use a timestamp in the name and mask it during download (using the proper [man]header/man calls) or save the PDF somewhere else until such a time you can delete it where it won't be overwritten. Something like writing temp files in /tmp then moving them to a folder called "pdfs" or something in your web root and using the users name as the pdf file. Then just use [man]stat[/man] to check the "mtime" of the information. If it's longer than XX days/weeks/months ago, delete it. Although usually the first way is the easiest way to go (timestamps as file-names).