Query executes fast, but keeps the table locked for some time
The documentation says:


  Indices are not required for child key columns but they are almost always beneficial.
  Each time an application deletes a row from the parent table, it performs [some query].
  If this SELECT returns any rows at all, then SQLite concludes that deleting the row from the parent table would violate the foreign key constraint and returns an error.
  If these queries cannot use an index, they are forced to do a linear scan of the entire child table. In a non-trivial database, this may be prohibitively expensive. 
  
  So, in most real systems, an index should be created on the child key columns of each foreign key constraint. The child key index does not have to be (and usually will not be) a UNIQUE index.


You should create an index on Drawings(ParentPartNumber).