Jamal,
I can't comment on why things might be failing at your site, Michael is in a better position to do that, but in general, you should not consider caching as the only alternative for hosting data.
If you just want to serve non-complex data, like small scale polygons of provinces like the once you showed in this thread with few vertices per polygon, and with simple outline symbology, you are probably much better off serving data straight from the feature source (or a copied file geodatabase), than to create a huge cache. It will bloat storage requirements compared to the original feature data.
Caches are best used for complex large scale data that may take up (tens of) gigabytes of diskspace using complex symbology, like detailed cadastral land records, high quality topographic data etc.
E.g. say you have an MXD having 20 layers with large scale topographic data symbolized using layered line symbology for roads, complex hatch symbols for polygons to represent 50 different land use types and so on, dynamic labelling etc. with a re-draw time of (a dozen) seconds per screen in ArcMap. If this MXD needs to serve as a basemap layer, e.g. a background to other more dynamic data, than that type of data is best served through cached services, as you wouldn't ever be able to serve that data dynamically to hundreds, or thousands, of users at a time. Just imagine with every hit to your website, the server needing 10 seconds to render a single image before it can send of the rendered data to the user...
It really depends on the type of data, and the complexity of the symbology to be used, what type of method you chose to host the data.