Yes, you need to play the entire game in every possible situation and you still won't be sure. I have only hacked games for small roms so far, so it wasn't a big deal to:
1 - play it all
2 - use judgement to what was used and what wasn't. usually unused bytes that looked like code would be in small chunks, like 5-10 bytes, so it isn't usable anyway.
As for searching, if your routine starts at 0xDE53 a simple search for 2043DE or 4C43DE could give you some confidence that it isn't used, but it could still be partially used or indirectly used, so even then you can't be sure.
Anyway, in my experience, code is usually used. There isn't always a lot of sequencial bytes of unused code, but there are of data, and that is more easily identifiable.