Sometimes yes, sometimes no...but normally no :-)
SQL> create table t as select * from dba_objects;
Table created.
SQL>
SQL> select count(*) from t;
COUNT(*)
----------
99403
1 row selected.
SQL> commit;
Commit complete.
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
96653332
1 row selected.
SQL> delete from t where rownum < 1000;
999 rows deleted.
SQL> commit;
Commit complete.
SQL> select count(*) from t as of scn 96653332;
COUNT(*)
----------
98404
1 row selected.
SQL> alter table t add x int ;
Table altered.
SQL> select count(*) from t as of scn 96653332;
COUNT(*)
----------
98404
1 row selected.
SQL> alter table t drop column SUBOBJECT_NAME;
Table altered.
SQL> select count(*) from t as of scn 96653332;
select count(*) from t as of scn 96653332
*
ERROR at line 1:
ORA-01466: unable to read data - table definition has changed
SQL>