Well, let me elaborate a little on the software killing data on hardware. If you zero-fill or one-fill a drive, data can still be recovered. Enough bits to piece together an entire byte in most cases and ultimately pull together enough data to be brought to a legal case. I've seen the government use sophisticated utilities in cases that they really need to apply data from HDDs to. If you zero-fill or one-fill a HDD about 10 times, the chances are extremely slim for any data recovery that will be of any use.
My boss's wife works for the DoHS and directly deals with data recovery. She supervises a team so she really isn't technical herself, but she always shares fun stories about data recovery with me when I come over to work on one of their computers.
As for the logic behind HDD data "writing"... if we were to use your hypothetical, then we might as well throw in more practical hypotheticals like: bad sectors (both logical and physical), writing speeds, the sizes of components being written, et cetera. Data "written" on HDDs can be extremely random based on these variables. An OS will not wait long to try to "write" data to a bad physical sector or cluster, so it will move along. It will, however, try to "write" data to a logical bad sector a couple of times before failing or succeeding. In the meantime though, it will continue to write other data to good sectors while coming back a few times to decide whether or not the logical bad sector can be written to. HDD manufacturers can sell more drives if they accomplish faster speeds. So, they are in it for speed rather than integrity (in my opinion). So data will find itself everywhere over the platter in the end.
Sorry that I don't have an exact answer to your second question, but it is either retrievable in portions (bits of bytes or sectors of clusters) and/or from the table that states where the data was and what it was.
Does that help you at all?
-Michael