Ooh, searched and found my thread I'd forgotten about. In the end I didn't modify the navigation block at all - I used CSS to hide stuff instead. problems with screen readers but the client I did this for wasn't worrying about that. Here's the low down - plonk one of these styles (or all) into your theme css to "remove" items from the nav bar.
/* Remove "my home" */
.block_navigation .type_setting.depth_2 { display: none; }
/* Remove "site pages" */
.block_navigation .type_course.depth_2 { display: none; }
/* Remove "My Profile" */
.block_navigation .type_user.depth_2 { display: none; }
/* Remove "Profile settings (user edit, etc without removing the capability)"
#settingsnav .block_tree li.type_unknown { display: none; } */
/* Remove "Courses"
.block_navigation .type_system.depth_2 { display: none; } */