you can put it on before the icing has crusted and it will stick. The icing will change the ribbon, but if you put it on ahead of time, it will stain the ribbon uniformly (as long as all of the ribbon is against the cake) and not look stained at all.
Most just use buttercream or royal icing, some use double-stick tape to attatch the ends in the back of the cake. As for the grease question, I've heard of people putting tape or ironing wax onto the back of the ribbon to stop the grease from seeping through. Another idea is to simply grease the ribbon before putting it on the cake.
and you can use a straight pin in the back of the ribbon, as long as you remember to inform whoever cuts the cake that it's there so they can take it out
Quote by @%username% on %date%
%body%