Sorry to hear about your debacle, hopefully someone can learn from this situation.
Transactions are not written to the data file immediately (define immediately?) although it happens relatively quick.
I don't think you can determine beforehand how much data will be lost with ALLOW_DATA_LOSS, but I must defer to an expert.