I believe prepare works from the normal working copy, because that's where the release.properties file goes. (We had to suppress its display in the working copy to avoid exposing the scm credentials.)
Forcing a build with 'Build Fresh' checked is a workaround since it will delete the working copy and do a fresh checkout.
I'm not sure if this is still relevant with clean checkouts for releasing (not sure if this is done for preparation though). At least need a cleanup op for failed releases.