Вобщем, похоже решил я проблему.
Думаю, что проблема была в том, что в запросе куча вложенных селектов и еще какие-то особенности Оракла.
Я подключался только к DBI, для обычного запроса этого было достаточно (причем попробовал под юниксом, там все работает с одним DBI). Но для винды похоже этого мало, не знаю почему. Я включил DBD::Oracle и случилось чудо: все заработало!
Запрос, ради интереса:
select
      substr(:FirstDayOfMonth,5,2)||\'.\'||substr(:FirstDayOfMonth,1,4) Month,
      MasterCardIssue.or_der Branch,
      MasterCardIssue MasterCard,
      nvl(VisaIssue,0) Visa from
(
select or_der, count(*) MasterCardIssue
from
    (
     select c.ncst,
           case                                                                                  
             when trim(substr(tadd4add,1,3))=\'33\' then \'VIP\'                                   
             when substr(num_otdel,1,2)>0 then \'Filial \'||substr(num_otdel,1,2)                
             when substr(num_otdel,4,2)>1 then \'DO \'||substr(num_otdel,4,2)                    
             else \'Other\'                                                          
           end or_der
     from gcard c
          ,V_FORPOST_CARD_INFO v
          ,gaddress a
          ,grchadd ch
     where
         c.ncrd in
             (
             select ncrd from gcard
             where
                 dopencrd>=to_date(:FirstDayOfMonth,\'yyyymmdd\') and dopencrd
                 and nbin in
                     (select nbin from gbin where nnet=1 and bin_description<>\'Administrative\') 
                         )
         and c.ncrd=v.ncrd(+)
         and c.ncst=ch.ncst
         and a.nadd=ch.NADD
    )
      group by
            or_der
      order by
            or_der  
) MasterCardIssue,
(
select or_der, count(*) VisaIssue
from
(
select replace(replace(replace(replace(replace(replace(replace(TNAMECST,\'IY\',\'Y\'),\'IJ\',\'J\'),\'J\',\'Y\'),\'Y\',\'I\'),\'KH\',\'H\'),\'KS\',\'X\'),\'\'\'\',\'\') TNAMECST,
       replace(replace(replace(replace(replace(replace(replace(TFNAMCST,\'IY\',\'Y\'),\'IJ\',\'J\'),\'J\',\'Y\'),\'Y\',\'I\'),\'KH\',\'H\'),\'KS\',\'X\'),\'\'\'\',\'\') TFNAMCST,
       or_der
from gpcstmer cst,
     (
     select c.ncst,
           case                                                                                  
             when trim(substr(tadd4add,1,3))=\'33\' then \'VIP\'                                   
             when substr(num_otdel,1,2)>0 then \'Filial \'||substr(num_otdel,1,2)                
             when substr(num_otdel,4,2)>1 then \'DO \'||substr(num_otdel,4,2)                    
             else \'Other\'                                                          
           end or_der
     from gcard c
          ,V_FORPOST_CARD_INFO v
          ,gaddress a
          ,grchadd ch
     where
         c.ncrd in
             (
             select ncrd from gcard
             where
                 dopencrd>=to_date(:FirstDayOfMonth,\'yyyymmdd\') and dopencrd
                 and nbin in
                     (select nbin from gbin where nnet=1 and bin_description<>\'Administrative\') 
                         )
         and c.ncrd=v.ncrd(+)
         and c.ncst=ch.ncst
         and a.nadd=ch.NADD
     ) c1
where
     c1.ncst=cst.ncst
) s1,
(
select replace(replace(replace(replace(replace(replace(replace(TNAMECST,\'IY\',\'Y\'),\'IJ\',\'J\'),\'J\',\'Y\'),\'Y\',\'I\'),\'KH\',\'H\'),\'KS\',\'X\'),\'\'\'\',\'\') TNAMECST,
       replace(replace(replace(replace(replace(replace(replace(TFNAMCST,\'IY\',\'Y\'),\'IJ\',\'J\'),\'J\',\'Y\'),\'Y\',\'I\'),\'KH\',\'H\'),\'KS\',\'X\'),\'\'\'\',\'\') TFNAMCST
from gpcstmer
where
     ncst in
     (
     select ncst
     from gcard
     where
         dopencrd >= to_date(:FirstDayOfMonth,\'yyyymmdd\')
         and NBIN in
             (
             select nbin from gbin where nnet=2 and lower(bin_description) like \'%electron%\'
             )
     )
) s2
where
     upper(s1.tfnamcst)=upper(s2.tfnamcst)
     and upper(s1.tnamecst)=upper(s2.tnamecst)
group by
      s1.or_der  
order by
      s1.or_der  
) VisaIssue
where
 MasterCardIssue.or_der=VisaIssue.or_der(+)
order by
 MasterCardIssue.or_der