Do I need a resistor on the base of a transistor?
When I am connecting an IO pin of a microcontroller to the base of a transistor, do I need a current-limiting resistor between the IO pin and the base? Or can I just directly connect the pin?


Yes!

If transistor is connected common-collector no resistor is needed.

if it's common emitter (the more common way they are used) then you will need the resistor,


  My thinking is that I can just omit the resistor because the microcontroller (attiny85 in my case) has an absolute maximum rating of 40mA sink/source for the IO pins, so it won't supply any more than 40mA to the base of the transistor.


That 40mA is a promise you must make the the micro-controller, not the other way around.