@Comrade
Well, I ran a few tests using a binary x file and an ascii x file and there is a template that controls the UV mapping (how the texture is stretched on the object) called
MeshTextureCoords. And this can be absent in a directx file and causes the symptoms that you describe. It's not very easy to create UV mapping in DarkBASIC, so that leads me back to 3d Canvas. I haven't used that program much at all. I would suggest reviewing the export options and see if there is anything that allows you to choose whether or not to export Texture Coordinates.
The other thing, If the texture created in 3d Canvas is not exported as a bitmap file that is tied to your object, then your object will just inherit the color of the material (usually the Difuse color). Also, DBC is based on directx 7 and successful directx files have bitmaps as textures (not jpegs, png, gifs, etc) and the file names of the textures are in the 8.3 format (max 8 characters for the name and 3 characters for the extension).
The bitmap also has to reside in the same directory as the model.
You can however load a jpeg or other picture file type as an image directly into DBC and then texture an object inside of DBC with that. This is because the file is converted to a DIB image that directx can use as a texture. And when you create an object in DBC like MAKE OBJECT SPHERE, it will texture correctly because when you create it, it is being created with UV coordinates.
If you could still post the object you are creating in 3d canvas, I figured out for the most part how to translate a binary directx file and can take a peek to see if it is including texture coordinates - or even a reference to your texture file.
Enjoy your day.