I think the toon is decided when you drop the soul in the BoS. The reason you get the same toon if it crashes (or is force closed) when you drop the soul is due to the game using the same seed value for the RNG. Probably set up that way to prevent people from dropping the same soul until they get what they want.
If it was decided when you get the soul, how do you explain people who have pulled a newly released toon from an old soul? I think of it more as the soul has a particular numerical value. Because the odds of pulling a character from a soul change when new toons are added, that value could point at a different character. Same thing if they increase the odds for getting a 4 or 5 star toon.
