In 10.1 you cannot put a basemap service inside another service.You can get two images via rest and fuse them server side.you can write code kind this one (I haven't tested):
static void Main(string[] args)
        {
            FuseTwoImages("http://services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Reference_Overlay/MapServer/export?dpi=96&transparent=true&format=png8&bbox=633494.6405943877%2C5612180.331083226%2C1416209.810234554%2C6152742.995115967&bboxSR=102100&imageSR=102100&size=1280%2C884&f=image", 100.0f, "http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Population_World/MapServer/export?dpi=96&transparent=true&format=png8&bbox=633494.6405943877%2C5612180.331083226%2C1416209.810234554%2C6152742.995115967&bboxSR=102100&imageSR=102100&size=1280%2C884&f=image", 50.0f);
        }
         public static void FuseTwoImages(string baseImageUrl, float baseImageOpacity, string topImageUrl, float topImageOpacity)
        {
            Graphics graphics = null;
            try
            {
                Bitmap imageBaseMap = new Bitmap(WebRequest.Create(baseImageUrl).GetResponse().GetResponseStream());
                SetImageOpacity(imageBaseMap, (float)topImageOpacity);
                Bitmap bitmapFirst = new Bitmap(new Bitmap(imageBaseMap));
                graphics = Graphics.FromImage(bitmapFirst);
                Bitmap bitmapSecond = new Bitmap(WebRequest.Create(topImageUrl).GetResponse().GetResponseStream());
                Image image = SetImageOpacity(bitmapSecond, (float)topImageOpacity);
                graphics.CompositingQuality = CompositingQuality.HighQuality;
                graphics.InterpolationMode = InterpolationMode.HighQualityBilinear;
                graphics.SmoothingMode = SmoothingMode.HighQuality;
                graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
                graphics.DrawImage(image, new Point(0, 0));
                bitmapFirst.Save(@"c:\temp\_ags_" + Guid.NewGuid().ToString() + ".png", ImageFormat.Png);
            }
            catch (Exception)
            {
                
            }
            finally
            {
                graphics.Dispose();
            }
        }
        public static Image SetImageOpacity(Image image, float opacity)
        {
            try
            {
                //create a Bitmap the size of the image provided  
                Bitmap bmp = new Bitmap(image.Width, image.Height);
                //create a graphics object from the image  
                using (Graphics gfx = Graphics.FromImage(bmp))
                {
                    //create a color matrix object  
                    ColorMatrix matrix = new ColorMatrix();
                    //set the opacity  
                    matrix.Matrix33 = opacity;
                    //create image attributes  
                    ImageAttributes attributes = new ImageAttributes();
                    //set the color(opacity) of the image  
                    attributes.SetColorMatrix(matrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
                    //now draw the image  
                    gfx.DrawImage(image, new Rectangle(0, 0, bmp.Width, bmp.Height), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, attributes);
                }
                return bmp;
            }
            catch
            {
                return null;
            }
        }