Stack Exchange
Facebook c# sdk always logs in using the same account
I use this approach along with the Facebook C# SDK (6.0.10.0) to get authorization and retrieve the access tokens to Facebook :-
public static void FacebookLogon()
            {
            string clientId = "xxxxxxxxxxxxxxxxx";

            string redirectUrl = Biz.BizFolders.ExpandUrl("CallbackHandlers/FacebookCallback.ashx"); 

            string logonScope = "email,user_checkins,publish_stream,read_stream";

            string url = string.Format("https://graph.facebook.com/oauth/authorize?client_id={0}&redirect_uri={1}&scope={2}" 
                           , clientId , redirectUrl , logonScope);

            HttpContext.Current.Response.Redirect(url);
            }

The callback which works as expected is a generic handler as follows:-
public class FacebookCallback : IHttpHandler , System.Web.SessionState.IRequiresSessionState

    {

    public void ProcessRequest(HttpContext context)
        {
        string newUrl = "";

        if (context.Request.Params["code"] != null)
            {
            // Accepted...

            string accessCode = GetFacebookAccessToken();
            FacebookClient api = new FacebookClient(accessCode);

            dynamic me = api.Get("me");

            if (me != null)
                {
                string id = me.id;
                LoadOrCreateUser(...);
                }

            }
        else
            {
            // Declined ....
            }

        }

    }
}

The get facebook access token function also works as expected.
  public static string GetFacebookAccessToken()

        {

        if(String.IsNullOrEmpty((string)HttpRuntime.Cache["access_token"]) == true)
        {

            Dictionary<string, string> args = GetFacebookOauthTokens(HttpContext.Current.Request.Params["code"]);
            HttpRuntime.Cache.Insert("access_token" , args["access_token"] , null , DateTime.Now.AddMinutes(Convert.ToDouble(args["expires"])) , TimeSpan.Zero);
        }

    return HttpRuntime.Cache["access_token"].ToString();

    }

Lastly, which also works fine, this function retrieves the access token:-
public static Dictionary<string , string> GetFacebookOauthTokens(string code)
        {
    Dictionary<string , string> tokens = new Dictionary<string , string>();

    string clientId = "xxxxxxxx";
    string clientSecret = "yyyyyyyyyy";

    string redirectUrl = Biz.BizFolders.ExpandUrl("CallbackHandlers/FacebookCallback.ashx");

    string scope = "read_friendlists,user_status";

    string url = string.Format("https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri={1}&client_secret={2}&code={3}&scope={4}" ,
                    clientId , redirectUrl , clientSecret , code , scope);

    HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;

    using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
        {

        StreamReader reader = new StreamReader(response.GetResponseStream());

        string retVal = reader.ReadToEnd();

        foreach (string token in retVal.Split('&'))
            {
            tokens.Add(token.Substring(0 , token.IndexOf("=")) ,
                token.Substring(token.IndexOf("=") + 1 , token.Length - token.IndexOf("=") - 1));
            }
        }

    return tokens;
    }

All of the above works great. But unfortunatly I have run into 3 problems :-

I am never prompted for a facebook login. My application always log's
in with the same user whether I am logged into facebook or not.  
The 'me = api.Get("me");' Always returns the same person. I don't know where it is getting this information from.
When I read the news feed using 'me/feed', I only get the messages
that I posted and no others.

My app is currently registered as a sandbox app in facebook. I tried changing this mode but it made no difference. I have also tried adding developers and testers but no joy there either. If anyone has any ideas as to why this is happening it would be really helpful to me.

I was not able to determine the correct flow of your app. But I am pretty sure the problem you're facing is due to the access token.
An access token generated through Server Side is valid for 2 months. Which means you can use it to perform graph api calls on behalf of the user until the token expires. That's the reason it returns the details of the same person when you call me = api.Get("me");.
Here's a very well explained tutorial for beginners on using Facebook C# SDK.
For your last problem, me/feed return user's timeline posts. To fetch user's news feed, you need to call me/home.
