I suggest that you look at how large and rugged databases (particularly Oracle - in my experience) does it. It answers your question.
The deleted record is written to a redo log and once committed, written back as "dirty buffer" to the redo log. (Dirty buffers are flushed to the disk at some other interval and finally when "shutdown"ed).
The "other" transaction, if it didn't acquire a lock on the entire quote (quote#1), scans the redo log and if not dirty proceeds by acquiring the appropriate locks.
For such an application, I would go with Oracle and if cost were a criterion, then Oracle 10G Express which is free and has the same data base engine.
Regarding the second question, (whether line# should be a fresh series for every quote), if you are writing a package, i suggest you rovide both options chosen at install time. THus users can go with their existing practice and choice.
End