Can small countries use a foreign currency as their official currency?
Having your own currency means that you can conduct your own monetary policy. Adopting another country's currency means that you trade your ability to make decisions about your country's quantity of money, inflation target, etc. to a tested and solid mean of payment (the advantages you listed are good reasons).

You might consider European countries adopting the euro as an example of countries adopting a single currency. Ecuador adopting the U.S. dollar in 2000 might be a good place to look if you want to see the effect in a specific country.

There are quite a few countries in the world which use another country's currency as their official currency. This article lists them all (as of 2014):
http://qz.com/260980/meet-the-countries-that-dont-use-their-own-currency/