I noticed that when a question gets migrated to another site like programmers, the asker doesn't get any more reputaion when the question is upvoted. He may get it only if he signs up on the new site where the question was migrated to. It's also not possible to accept an answer or upvote an answer without signing up on the new site. Is it meant to be like this or just cause of a technical issue?
This is entirely by design. Each Stack Exchange site is an entirely different community. You can, however easily associate your account on the new site with your other accounts and earn a reputation bonus that gives you enough privileges to participate without much difficulty.
Some people might not want an account on the target site, so creating one is left as an option.
As far as the system is concerned, however, each account on each individual site is a separate entity.