The first situation doesn't really make sense; I've seen users (on other sites in the Stack Exchange network) doing the second because while the accepted answer helped them best, it isn't really likely to be useful for future readers.
My suggestion would be that if a user accepts an answer as best, it automatically counts as an upvote as well.
It sort of does; you get 15 reputation from an accepted answer, which is 1.5 times the 10 reputation you get from an upvote.
The reason that the system works this way is that everyone is able to accept an answer to their question, but upvoting requires 15 reputation. The system could make an exception for this, but exceptions are harder to program and maintain, so it's not done unless there is a real benefit (which is e.g. the case for comments; new users can post comments on their own posts and on answers to their own question, even if they don't have 50 reputation).