I'm circling back around to this; I think that that change makes a lot of sense. It seems better to me -- if you're calling one of these package functions, you probably want to work with the package system, which is only properly set up when you call package-initialize.
What other functions would need to call package-initialize, if it hasn't been called? I notice that package-install already does that. Some other functions for installing don't (package-install-from-archive, package-install-from-buffer), but I'm not sure whether they need to.