Собственно ситуация.
Я встроил в свое приложение Gecko браузер.
Загружаю в него страницу с формой на которой есть несколько элементов checkbox. Ручками я отмечаю несколько элементов и беру исходник страницы. В исходнике у элементов checkbox отмеченных на странице не появляется атрибут checked.
Исходный текст страницы я получаю следующим образом:

    nsresult rv;
    nsAutoString docStr;
    nsCOMPtr<nsIDocumentEncoder> docEncoder;
    docEncoder = do_CreateInstance(NS_DOC_ENCODER_CONTRACTID_BASE "text/html");
    rv = docEncoder->Init(m_Doc, NS_LITERAL_STRING("text/html"), nsIDocumentEncoder::OutputEncodeHTMLEntities );
    rv = docEncoder->EncodeToString(docStr);
    return docStr;

Помогите разобраться. Как нужно получить исходник, чтобы динамические изменения на странице отображались в нем.

А если просто получить эти чекбоксы - они будут в актуальном виде?

Да.

Подозреваю, что так и задумано: выдавать оригинал страницы.
Просмотр кода страницы через контекстное меню работает так же.
Можно попробовать получить актуальный код так же как и чекбоксы - указав html или body.

Посмотрите на nsIDOMSerializer