I guess I am a late joiner to this thread as well. We have two indoor cats as well, and they will occassionally run free, but they generally show right back in the backdoor wanting in from the cold and to be fed.
the one never leaves past our yard (the road freaks him out.. he was abandoned).. 3 weeks is quite a long time though, but I am glad he came back to you
cats are awesome like that. when our cat gets out we spend about 2 hours looking for him then just close the door and let him have his fun and wait until he is back at the backdoor.