I just come accross this question where user says that he can't accept the answer. Is it true that if user creates question before registration he can't accept answer after registering?
It depends on how they move from unregisted to registered because an unregisted user is based on a browser cookie.
If they return with that cookie and then register, the account is upgraded, they retain full ownership and they can accept.
If they return without the cookie then they have already lost access to the original account (or are using a different computer, browser, etc). If they then register, they setup an entirely different user account and so cannot accept. This is what has happened in the question linked, you can tell this is the case because the commenting user does not have the blue "owner" background colour and the commenting user and question user have different profile URLs; they're different user accounts.
The user (or someone else*) should flag this question for moderator attention and ask for the two accounts to be merged, at which point this use will have ownership of the question again and can then accept.
* I have flagged this for attention myself, so hopefully should be picked up soonish.
I guess you are asking for upvoting rather than accepting. Because even an unregistered user can accept answers for his questions but he cannot upvote.
Yes, The registered user can accept answers for questions created before registration too. However, you need to flag for moderator to merge your unregistered and registered accounts. After that, the old questions can be accepted or rather upvoted.
Specifically in your example, the OP is already registered and he should be able to accept answer. Only thing is he cannot upvote until he reaches rep 15.