First iteration

A,0 A->B,11 A->D,20 A->C,6

Second expand D

A,0 A->D,20 | A->B,11 A->D->G,6 A->D->F,2 A->D->E,8

Expand B

A,0 A->D,20 A->B,11 | A->B->C,9 A->B->G,7 A->D->F,2 A->D->E,8

Expand C

A,0 A->D,20 A->B,11 A->B->C,9 | A->B->G,7 A->B->C->F,9 A->D->E,8

Expand F

A,0 A->D,20 A->B,11 A->B->C,9 A->B->C->F,9 | A->B->C->F->G,9 A->B->C->F->E,9

Expand G, done

This is what I got... to the left of the | are the found shortest routes to points expanded, and to the right are the temporaries... Your approach works, you must've made a small mistake in the calculation somewhere.

Make sure you also expand the largest one first, not the smallest.