you can only paint on the image that is assigned to the uv-layout in edit-mode, regardless of which image you actually see in the editor, if you are in object-mode. well, of course you can do image-paiting directly on the image in the image-editor, but i assume you are talking about 3d-texture-painting.
if you want to change the image that you want to paint on, go to edit-mode (not object- or texture-paint-mode) and assign a new image to the uv-layout there. you can also use multiple uv-layers or uv-textures. have a look in the mesh-panel in edit-buttons. make sure the right uv-texure is active (just in case you have more than one).
sometimes you have to make one of the faces in the uv-layout “active”, just by selecting them with RMB, before you are able to change the assigned image.
about that cursor-problem you mentioned: could it be that you have painting-mask enabled? maybe by accidentally hitting “f”? if that is the case then you can only paint on the selected faces. quite handy sometimes, but it can be confusing if enabled by accident without knowing. just try toggling it by hitting “f”.
hope that helped, because blender’s texture-paint-tools are really powerful and are doing a good job, so it would be a pitty if they wouldn’t work for you.