3 weeks doesn't seem excessively long in a BP's life. Double check all the husbandry issues...make sure the proper temps are steady and not fluctuating a lot at night. And see what happens after you've fed him a time or two. We humans can be awfully impatient at times...but I'm sure given enough time and patience, everything will be back to normal with your snake.