Looks like you have given all your WHERE clause conditions appended to JOIN. Correct it.
You are not getting anything from table MovieTimings. You don't need a join if so. A direct query like below would do:
select
distinct(mt.MovieID),m.MovieName+' ('+m.Language+')' as MoviesWithLanguage
from
Movies m
WHERE
m.Active = 1
In case you want to set something from MovieTimings table too,
Try:
ALTER Procedure [dbo].[GetMoviesForDelete]
As
Begin
select
distinct(mt.MovieID),m.MovieName+' ('+m.Language+')' as MoviesWithLanguage, mt.*
from
Movies m
inner join
MovieTimings mt
on m.MovieID=mt.MovieID and
WHERE
m.Active = 1
and
m.MovieID not in (select distinct(MovieID) from MovieTimings)
End
*Removed where clause related to date condition as it was not clear what exactly you were trying to do there and where from the field 'Date' came. You can handle it now as per your need post the simple query above.