I dl'd your project and just added console.log("methodname", evt); and various other items to console.log and various other items as I followed what methods were being executed. I think I found what your problem is.You are using a div in your aspx page to hold the infoWindow contents for identify.
<!-- Identify Window Begin -->
<div id="tabs"
dojoType="dijit.layout.TabContainer"
style="width:385px;height:150px;">
<!-- Safezone Tab Begin -->
<div id="safeZoneTab"
dojoType="dijit.layout.ContentPane"
title="Location">
</div>
<!-- Safezone Tab End -->
</div>
<!-- Identify Window End -->
When you project your point, you are setting up new content for the map infowindow for the projected data. It looks like this is deleting the "tabs" dom element from your page, so it is no longer available the next time you do your identify.
geometryService.project([point], ptOutSR, function (projectedPoints) {
point = projectedPoints[0];
ptGraphic.setInfoTemplate(new esri.InfoTemplate("Coordinates",
"<p> X: " + point.x +
"<br/> Y: " + point.y +
"</p>" +
"<input type='button' value='Convert back to LatLong' onclick='projectToLatLong();' />" +
"<div id='latlong'></div>"));
map.infoWindow
.setTitle(ptGraphic.getTitle())
.setContent(ptGraphic.getContent()) // This deleting the "tabs" dom element, if I comment out, id still works, but project results not show
.show(evt.screenPoint, map.getInfoWindowAnchor(evt.screenPoint));
});
I tried to go through and wrap that content in a templating engine, but I'm not fully familiar with the app, so I'm not sure where the changes would need to be made. You might be able to to use dojo.create() to do it manually, but since it's a dojo dijit element, I'm not sure how to make sure it's fully initialized when loaded. You also have the "tabs" dom tied to some other stuff in your app like a map resize it looks like.