Custom post type's get_permalink returns wrong url yes it is done in init like add_action('init', 'set_post_type_meta');, NOT inside the activation function.
I tried removing it but it didn't work either.
Display only certain posts based on visitor's country? Thanks, and yes the latter part is the part which scare the hell out of me. I am still looking at the add_filter(request...), which I hope can avoid a billion if statements.