There are a few things that can cause this.
1. Security – if you have certain roles when running interactively, and SSRS is running under an account with different roles, if there are records that are secured, you may see different results. This is unlikely (requires fairly advanced systems).
2. Environment settings – It is possible to force SQL Server to run queries in case-sensitive mode, which can easily result in different row counts. There are other environment settings that can also cause differences (collation sequences, code sets, etc.).
3. Overloaded T-SQL functions – if SSRS runs with one user account and the user has a different one, it is possible there is a function in the query that exists in both accounts but performs differently.
4. Different databases – again, if SSRS is running with one user role OR database connection, and the user has a different role/connection, the interactive query may be executing against one table (in one database) and SSRS is running against the same table in a different database. This is REALLY easy to encounter if you have multiple copies of databases (for production, test, training, etc.).
When I see inconsistent results, #4 is the first thing I look at – am I sure I am running the query against the same server/catalog/schema/database in both cases?