I normaly get this, if the module can't be found (not added to the include directories).
I'm not used with CB or Allegro, but how did you added the DAllegro5 files to the project?
I think you have to add both the library and the include files (.d).
Just look in your settings and what you set to get DMD working and add the simmilar paths for Allegro. (in my old CB version 10.05 in Settings>Compiler and debugger>... or Project>Build Otions>... and then in ...>Linker Settings and ...>Search Paths)
I did it almost exacly the same, but I'm not completly happy with it:
I pack all the data for one object together and build a reflection of the object (name->offset array) and a buffer reflection (name->offset&size), from which I create something like a copy-instruction (arrays of sourcOffset, destinationOffset, dataSize) which copys all the data from the source offset to the buffer offset.
But how do you update the cbuffers, if a object moves/is animated etc.?
I think the cbuffer could either be a part of the object, but this would force all types of objects to have a common layout.
Or do you have some kind of offset or pointer array from which you copy the data into the buffers, before you draw the objects? This would allow having different data layouts, but would cause lots of copying of data...