This is very stange indeed, I have just written a test project that just loaded the mesh and display it, and it was textured
here is my ocde for my project (that isn't loading the texture) both the model and image are in the same directory.
//set the directory to the resource directory
char* CurrDir = dbGetDir( );
dbSetDir( MenuResourceDir );
//load the mesh file
m_MeshObject = GetFreeObjectNumber( );
dbLoadObject( "mesh.x", m_MeshObject );
//the code needed to texture the object ????
//m_MeshImg = GetFreeImageNumber( );
//dbLoadImage( "SWAT.bmp", m_MeshImg );
//dbTextureObject( m_MeshObject, m_MeshImg );
dbSetObjectSmoothing( m_MeshObject, 100 );
dbSetObjectSpeed( m_MeshObject, 30 );
dbLoopObject( m_MeshObject );
dbRotateObject( m_MeshObject, 0.0f, 240.0f, 0.0f );
dbPositionObject( m_MeshObject, 0.80f, -1.0f, -1.9f );
//reset the working directory
dbSetDir( CurrDir );
My W.I.P project