Hi, uhm I have posted somewhere here how to do properly make a service for an operational layer, you may want to read through some of the threads, but here is a quick run through.
1) Make shapefile
2) Import shapefile into SDE, making it a FeatureClass
3) Right click on it add GlobalIDs, right click - Register as Versioned
4) Open ArcMap, add feature class and then in the data frame properties click on Data Frame tab, set a custom extent.
5) Save map, now you should be good to make a mobile service
6) Right click on mxd and publish to server
7) Click on Mobile Data Access
😎 If successful open Project Center, Add, enter the name of your server for example if you are on the server itself, type the name of the server "developer/arcgis", if you are on the network you can use the same as above, if you are going to mobile devices connected to the internet but not to the network directly you will need a fully qualified domain name.
9) Click on the refresh symbol, add your service and your done.
If you don't see your service in ArcCatalog, then you won't see it in MPC, I never had to modify a conf file or anything like that..
If you have followed these instruction and you are still having problems, let me know.
Regarding a cached basemap service, well I personally haven't done this yet, but my co-worker knows how to make one, and I will do this in the future.
I hope this helps.