The answer makes sense, but the problem that I have is I apparently know little about deployment projects in general. I'm not sure where or how to track a variable from the beginning of the install process to the end. I suppose I could create a custom action that would set the reg key and the beginning, but where would I store the value that determined if a key existed previously? Also, in this case, there will never be a pre-existing key as previous installations of my application never set it in the first place, which means it would always be treated as a first time install, which wouldn't necessarily be true.
Due to time constraints, I've had to find the necessary information another way. I've modified the final custom action to request input from the user to determine whether the "first time install" or "upgrade" path should be taken. Obviously not the best solution.