Just to give you all an update on my progress. I have figured out that I can use VirtualAlloc to get Windows CE to allocate pages of main memory with specific attributes, being READONLY, READWRITE, NOCACHE etc.. unfortunately there does not appear to be a nonbufferable option. Did microsoft completely forget about this feature? or is there some undocumented NONBUFFERABLE option out there?
For those of you unfamiliar with the ARM MMU if cacheable and bufferable are enabled your data will be stored in the main D-Cache, otherwise if cacheable and nonbufferable are enabled your data goes to the minicache.