Im sure you could achieve it with putting a graident in between the pictures, and then a certain layer style would do the job. BUt im not sure about it in CS3, so here is what i would so:
Put the pictures next to each other as 3 different layers (in case of 3 pictures, if its x pictures then do x layers). Make sure one picture overlaps the other one by about 5-10 percent. And now mesusre the size of the overlapping part, and select a 50 or 75 percent circular erase brush with the radius half of what you measured, and then simply erase the overlapping picture down the edge of it. That should do the effect.
As far as the 144 dpi to 300 dpi version, im not sure if i understand you right, but basically the only was you would achieve that is by resizing the picture, which would lower the quality tho. If you dont mind that, then just create a new blank file with the pixel measurement of the original file, but with 300 dpi (in the settings), then copy and paste the original file into the new file and resize it until it fits. And then save.
But if the quality is important, and money is no problem, i could recommend LiquidRescale. Google it and check it out.
Let me know if you have any more questions