Es porque hiciste las variables locales, asi que no existen para tu 'elseif'.
function Marker10 ( hitPlayer, matchingDimension )
if source == Marker1 then
Marker2 = createMarker ( -2436.60, 2436.8, 15.5, "checkpoint", 2.5, 0, 255, 0, 255, hitPlayer )
setElementDimension ( Marker2, 10 )
destroyElement ( Marker1 )
elseif ( source == Marker2 ) then
Marker3 = createMarker ( -2503.5, 2425.39, 16.6, "checkpoint", 2.5, 0, 255, 0, 255 )
setElementDimension ( Marker3, 10 )
destroyElement ( Marker2 )
end
end
addEventHandler ( "onClientMarkerHit", getRootElement(), Marker30 )