I have done my DLLs on the Win32 platform. Mine use C++/CLI so I can use WCF to communicate from the cashier terminals to other servers we have.
Anyway, as for Windows CE, I haven't done any Micros DLLs with it, but I have written other code under WinCE.
If I remember correctly, I was told that the terminals they have use WinCE 6.0. When I was writing for this type of target, I used embedded Visual C++. This does not come in Visual Studio. I don't know if Microsoft puts it out for separate download anymore. I think I can download it through my MSDN subscription, but it has been a few years since I looked for it.
Don't know if it helps, but also what I do in my DLLs is I write them similar to how Microsoft does it, where I have a function that returns lengths of variable items, like strings and dynamically allocated arrays so I don't have to preallocate tons of memory in the SIM script for different variables.