I have been using
Alien skins Blow Up, for a while and it works well most of the time.
Except maybe for details. I think it works better in bigger areas, it seem to add random pixels in a median filter way, and to compensate for that you can add grain.
It´s a plug-in, so it also works fine on layers.
Ken.