Learning Multiplexing with LEDs, transistor switching speeds
Explicitly specifying a "dead time" between rows is pointing towards a timing problem. Two possible causes of this : 


Some overlap between updating the row and column drivers, e.g. on different ports, written in different cycles. This has a simple software fix : (a) turn off all rows (b) update columns (c) turn on correct row. Alternatively, turn off all columns, update row, turn on appropriate columns.
Switching delay in turning transistors off. Q8,9,10 in the given circuit will saturate, which makes their turn off time slow. My answer to this question describes this phenomenon : the question itself describes a hardware fix to the problem (a schottky diode between base and collector). However a simpler answer is to wait through the "dead time" in software, as suggested in the comment above. Obviously times t1 and t2 can be tuned for best visual experience.