I made a UV map and an eye texture based on the map and attached the texture to the eyeball. I decided to just put the image on the object without using a UV map node because I heard that blender will now unwrap the images correctly if you have a UV map for the object. I then went into material mode and low and behold the image was placed correctly on the object. Then I decided to do a test render and the image shrunk around the object and I am curious as to why it renders differently than it appears in material mode, and what I can do to fix it? Do I just need to use the UV map node? BTW, I'm using cycles render engine.
By default, Blender uses 'Generated' Corrdinates for placing textures on objects when rendering with Cycles. In the viewport however, when you have Cycles selected as a render engine, the texture node which is selected will be previewed on the object using the currently selected UV map. That's why you see it mapped correctly in the viewport, but mapped in a different fashion in the rendering.
Now I don't know why you were told that Blender would not unwrap correctly using the UV map node, but anyways: Use either a Texture Coordinates Node and plug the UV output to the 'Vector' input. This will use the UV map from the object which is currently marked as 'renderable' (yellow circles in screenshot). Or, you use the UV Map node. Here you can choose the name directly, but remember that if you rename the UV Map later on in the mesh data, you'll need to update the input field in the node as well (red circles).