Hi Patrick!Took a quick look and it seems your symbol object is getting distorted when using toJson().You will want to recreate the symbol object in code from your db values.I would also use a polyline. Here's your addAnnoLineHandler() function slightly redone:
function addAnnoLineHandler(evt) {
tb.deactivate();
map.enableMapNavigation();
var symbol = new esri.symbol.CartographicLineSymbol(esri.symbol.CartographicLineSymbol.STYLE_SOLID,new dojo.Color("#000000"),2,esri.symbol.CartographicLineSymbol.CAP_ROUND,esri.symbol.CartographicLineSymbol.JOIN_MITER,1);
var baseGraphic = new esri.Graphic( evt, annotationSymbol );
//map.graphics.add(baseGraphic); // adds graphic directly to map
var baseGraphicJson = baseGraphic.toJson();
var polyline = new esri.geometry.Polyline( baseGraphicJson.geometry ); // note use of geometry property
console.log( 'polyline', polyline );
var graphicFromDB = new esri.Graphic( polyline, symbol );
console.log( 'graphicFromDB', graphicFromDB );
gLayer.add( graphicFromDB );
}
NOTE:If you end up using:tb.on("draw-complete", addAnnoLineHandler);
overdojo.connect(tb, "onDrawEnd", addAnnoLineHandler);
... you will need to change addAnnoLineHandler() to accommodate, as 'evt' will no longer be what you expect.