mIRC can't handle multiple search patterns like that. You have to check each of them for a match.
Code:
on *:dialog:MP:init:*:{
  .echo -q $findfile(%mpdir,*.*,0,if ($istok(.asf.avi.mpeg.mpg.wmv,$gettok($1-,-1,46),46)) did -a MP 1 $nopath($1-))
}