Ansätze für Dein oberes Problem, wenn xcolor mit der table Option geladen ist:
...
\DTLforeach*[\value{DTLrowi}<10]{CsvTabelle}{%
\SpI=Column1,\SpII=Column2,\SpIII=Column3,\SpIV=Column4,\SpV=Column5,\SpVI=Column6,\SpVII=Column7,\SpVIII=Column8,\SpIX=Column9,\SpX=Column10,\SpXI=Column11%
}{%
\DTLiffirstrow{\\\midrule}{%
\ifthenelse{\DTLiseq{\SpI}{3}\or\DTLiseq{\SpI}{6}}{\\\midrule}{%
\ifthenelse{\DTLiseq{\SpI}{5}}{\\\rowcolor{green}}{\\}}}%
\SpI&\SpII&\SpIII&\SpIV&\SpV&\SpVI&\SpVII&\SpVIII%
}%
\DTLdeletedb{CsvTabelle}
oder
...
\DTLforeach*{CsvTabelle}{%
\SpI=Column1,\SpII=Column2,\SpIII=Column3,\SpIV=Column4,\SpV=Column5,\SpVI=Column6,\SpVII=Column7,\SpVIII=Column8,\SpIX=Column9,\SpX=Column10,\SpXI=Column11%
}{%
\DTLiffirstrow{\\\midrule}{%
\ifthenelse{\equal{\theDTLrowi}{3}}{\\\rowcolor{red}}{\\}}% %
\SpI&\SpII&\SpIII&\SpIV&\SpV&\SpVI&\SpVII&\SpVIII%
\ifthenelse{\equal{\theDTLrowi}{3}}{\dtlbreak}{}%
}%
\DTLforeach*[\DTLisgt{\SpI}{3}]{CsvTabelle}{%
\SpI=Column1,\SpII=Column2,\SpIII=Column3,\SpIV=Column4,\SpV=Column5,\SpVI=Column6,\SpVII=Column7,\SpVIII=Column8,\SpIX=Column9,\SpX=Column10,\SpXI=Column11%
}{%
\DTLiffirstrow{\\\midrule}{%
\ifthenelse{\equal{\SpI}{5}}{\\\rowcolor{red}}{\\}}%
\SpI&\SpII&\SpIII&\SpIV&\SpV&\SpVI&\SpVII&\SpVIII%
\ifthenelse{\equal{\SpI}{5}}{\dtlbreak}{}%
}%
\DTLdeletedb{CsvTabelle}
...