OS X unable to update outdated app icon in Launchpad
I recently come up with the same question.

unlink Library/Application\ Support/Dock/desktoppicture.db
touch /Applications/YourAppName.app
killall Dock


the touch(1) command is very important. things would not work without it.
I think maybe the Dock does not update its db unless the app was updated.