Ok, so. My reasoning went like this:
Forward voltage of diode ≃ 0.6V, times 2 that is 1.2, which is smaller than 0.3×5V=1.5V, so that's a bit on the margin.
The part that always confuses me is transistors. I would like them to work like this:
1. All row pins are normally inputs with pull-up resistors activated. The ATmegas source current in this mode, and I hope that will close the transistors for all rows.
2. All column pins are normally tri-stated. No current passes either in or out.
3. To scan a column, that one column is pulled low, rows are read and the column tri-stated again.
4. To light up selected LEDs of a row, the corresponding columns are driven high, and the row pin is driven low to open the transistor of that row alone.
I now see how in 4. when the upper LED row is activated, current can pass through L1, S2, D2, L4 even when neither L1 nor L4 should be lit. So, yeah, my idea falls on that =P
Trixy, that ghosting is =)