I wish to more fully develop some music I've roughly sketched out. I have an idea for the kind of program I'd like to use - if such a program already exists, I'll use that, otherwise, I may write my own. Consider the following work flow.
You open the program, make a new project, put on headphones, and hit start. The program begins recording, and is intended to continue recording for the full duration of your, say, 2 hour session. At any moment, you may hit (e.g.) "back 30 seconds", and the software will begin playing the audio from 30 seconds ago into your headphones, and continue to record both from the mic and from the playback. So, for instance, you sing a few measures, go back 30, sing a harmony (while hearing the melody), hit "jump to present" and then back (or just wait for the playback to catch up with the overlaid second recording), sing a second harmony. "No, that sounds weird", you say, so you hit "back 30" and try it again. If you were to listen to the entire project, then, you'd hear one voice sing a section, then the same section with two voices, then the same section with three voices but a mistake, then the same section with three voices correctly.
The core requirement is that it A) allow playback but continue recording at the same time, and B) record any playback as well as mic input.
Should preferably have a clean "mic" track, with the one or more "playback" tracks recorded alongside it. Bonus points if it keeps multiple layerings of playback separate (so you could mute/alter individual voices in the end), and further bonus points if it allows you to tag points in the session so you can come back later.