I just flipped over to meta for the first time and started browsing & voting, and my rep (but not my badges) carried over from programmers. Is this the way it's supposed to work? I would expect that my "score" would either carry over in entirety or not at all, and I'd start on meta with 0 rep and 0 badges...
Reputation does, badges don't: it's status-bydesign. However, there's a lag time between the time you gain rep on the main site and when it reflects as your rep total on meta.
It's a trade-off between starting with nothing and having nothing to gain by participating.
The reason repuation does transfer is so that you have the same privileges here, as well as others being able to see your main-site participation. By consequence you gain no reputation from Meta.
Badges don't transfer so that you can still earn something here.