Whenever I try to duplicate the keyframes for my walk animation I've already done, it does what I didn't consider though makes perfect sense - it tries to re-position the character's legs back to the original starting point. Following a book I have, it suggests to insert the keyframes via Whole Character (selected bones only), which is what I've been doing. Should I have been inserting these keyframes differently or is it simply that I need to add all the keyframes manually and can't duplicate those I've already added?
You need to choose whether you're creating a walk cycle or just a non-cycle walk animation.
If you want to make your character move along a long path, like he's following a road, crossing a room, etc... use a walk cycle.
When you'll create your cycle in Pose mode, the character must not move forward, you'll create the animation as if he's walking on a treadmill.
It's once back in Object mode that you'll move the whole armature through your scene with a Follow Curve constraint or just 2 keyframes if it's just a straight move.
The second kind of animation will be useful if your character makes only small moves, like walking 2 meters and then doing something else. In that case no need to create a walk cycle.
When you create this animation in Pose mode your character doesn't need to stay still like on a treadmill, you can move his left feet forward then stay at its position and move the right foot forward, etc...
In the second case though, if you want to copy some previous poses, for example the pose with the left foot forward if it's the same or about the same as the previous one with the left foot forward, make a copy paste, then, as it will make your character move back, make it move forward at the right position, select all the bones and press i to create the new pose. So it will be a copy of the one before but one meter forward.
Does it answer?