From your code, it looks like the texture (TXD) is being loaded after the model (DFF), which might be why it's not applying correctly. The correct order is to load the texture first, then the model.
 
	Here's a working example:
 
local MODEL = 17517
addEventHandler("onClientResourceStart", resourceRoot,
    function()
        local texture = engineLoadTXD("example.txd")
        if not texture then
            return
        end
        engineImportTXD(texture, MODEL)
        local model = engineLoadDFF("example.dff")
        if not model then
            return
        end
        engineReplaceModel(model, MODEL)
    end
)
	meta.xml:
 
<meta>
    <script src="client.lua" type="client" />
    <file src="example.txd" />
    <file src="example.dff" />
</meta>