I'm not sure what this could mean, but it's a really bad sign if these IDs are used internally. Type paths are constants, which makes this even more strange.
Run this code to clearly see the problem:
image/myimage
mob
Login()
..()
checkrefs()
verb/checkrefs(type as null|text)
set name = "check locate(\"\\ref\[/type\]\")"
if(!type)
type = /datum
var/ref,foundpath,instance,newref,newfound
for(var/path in typesof(text2path("[type]")))
ref = "\ref[path]"
foundpath = locate(ref)
if(foundpath)
src << "<tt>[ref] [foundpath] was found.</tt>"
else
src << "<tt><font color=red>[ref] [path] not found!</font></tt>"
// This is being output for any type derived from /image.
try
instance = new path
newref = "\ref[instance]"
newfound = locate(newref)
if(newfound)
src << "<tt>[ref] <font color=blue>new</font> [path] was found ([newfound]).</tt>"
else
src << "<tt><font color=gold>[ref] <font color=blue>new</font> [path] not found!</font></tt>"
catch
src << "<tt><font color=teal>[ref] cannot create <font color=blue>new</font> [path]!</font></tt>"
src << ""
As requested, here is the output this produces:
[0x3f000000] /image/myimage not found!
[0x3f000000] new /image/myimage was found ().
[0x3f000001] /image not found!
[0x3f000001] new /image was found ().
[0x20000002] /datum was found.
[0x20000002] new /datum was found (/datum).
[0x9000003] /atom/movable was found.
[0x9000003] new /atom/movable was found (the movable).
[0xa000004] /atom was found.
[0xa000004] cannot create new /atom!
[0x9000005] /obj was found.
[0x9000005] new /obj was found (the obj).
[0xa000006] /turf was found.
[0xa000006] cannot create new /turf!
[0xb000007] /area was found.
[0xb000007] new /area was found (the area).
[0x20000009] /sound was found.
[0x20000009] new /sound was found (/sound).
[0x2000000a] /icon was found.
[0x2000000a] new /icon was found (/icon).
[0x2000000b] /matrix was found.
[0x2000000b] new /matrix was found (/matrix).
[0x2000000c] /database/query was found.
[0x2000000c] new /database/query was found ().
[0x2000000d] /database was found.
[0x2000000d] new /database was found ().
[0x2000000e] /exception was found.
[0x2000000e] new /exception was found (/exception).
[0x2000000f] /regex was found.
[0x2000000f] cannot create new /regex!
[0x3f000010] /mutable_appearance not found!
[0x3f000010] new /mutable_appearance was found ().
[0x8000000] /mob was found.
[0x8000000] new /mob was found (the mob).
Compile and run to see it all fancy and colorful.
Your first \ref is a reference to the type /image; types can't be locate()'d as far as I'm aware.
Your second \ref is to an actual image, and is located correctly; slightly-edited code below, along with output and comments: