1. Если у Вас используется ofstream, то флаг должен быть ios_base::out, а не ios_base::in
2. Честно говоря, я не знаю, можно ли расширять файл способом, который Вы используете. Я не нашел ни опровержений ни доказательств этому. Но если учесть, что seekp устанавливает указатель внутри последовательности, я бы не стал надеяться на гарантированное поведение в подобном случае.
3. VS 2010 STL работает с файлами размером 2^64, так что в этом затыка нет.