\cellcolor overwrites table lines (\hhline)

off-topic but can be helpful :-): your table is unnecessary complicated ...

  • basic problem is solved by AboAmmar answer, however i suggest you don't use dashed lines in tables at all
  • in preamble you have some packages loaded twice and also three-times
  • xcolor supersede color. it is sufficient to load only xcolor
  • package subfigure is obsolete. rather use subfig or subcaption
  • there is no reason to declare all columns as m type. it is sufficient to define their width only for the first three columns, others is better to be c type. also there is no seem s to be special reason to use m{...} type. i would rather use p{...}
  • all \multicolumn{1}{...}{...} are superfluous
  • use of `multirow are wrong, it is suficient to wrote their contents ones and overlaps them for each line of contents
  • exploit new options of recent version of the multirow package: {=}
  • instead \center{... tcaption + table ...} is suficient to use only `\centering
  • use multirow only when you cell had to span more table rows. it is not intended for make more vertical space around cells' contents. for this change arraystretch (see mwe below)
  • for coloring of cells in last two columns is more efficient to color complete columns and use \colorcell only for exceptions in the first row
  • don't use scalebox ... it is desperate measure of last resort to fit table in column width

after considering above comments your table becomes:


\usepackage{amssymb, amsmath, amsthm, amsfonts}
\usepackage[dvips]{graphicx}% DVIPS OPTION IS SUPERFLUOUS
%\usepackage{subfigure} % ABSOLETE
\usepackage[table]{xcolor}% http://ctan.org/pkg/xcolor
%\usepackage{arydshln}  % TROUBLEMAKER
\usepackage[skip=5pt]{caption}   % Unifies the distance between caption and float
\DeclareMathOperator*{\argmax}{arg\,max} %Defines a new operation argmax with no space
%\usepackage{xcolor}% <-- SECOND TIME
\usepackage{pifont}% http://ctan.org/pkg/pifont
\usepackage{bm} % For bold math notations use \bm{$..$}
%\usepackage{arydshln} % For dashed lines. \hdashline and \cdashline commands which are the dashed counterparts of \hline and \cline
%\usepackage[table]{xcolor}% <-- THIRD TIME
%\usepackage{bm} % SECOND TIME

% just for test
\usepackage[floats, tightpage, active]{preview}

\begin{minipage}{\linewidth}% FOR FOOTNOTES BELOW TABLE?
    \caption{\label{tab:classification} Classification.}
\multicolumn{5}{|c|}{Proposed Classification}
    & UShort    & Short & Medium    & \cellcolor{white}{Long}
                                        & \cellcolor{white}{ULong}  \\
\multirow{6}{=}{Indoor (I)}
    & \multirow{4}{=}[-1ex]{Point Coverage (PC)}
        & \multirow{2}{=}{LOS}
            & F & I / PC / LOS / F  &       &   &   &   &   \\
    &   &   & M & I / PC / LOS / M  &       &   &   &   &   \\
    &   & \multirow{2}{=}{NLOS}
            & F & I / PC / NLOS / F &       &   &   &   &   \\
    &   &   & M & I / PC / NLOS / M & NPA   &   &   &   &   \\
    &   \multirow{2}{=}{Cellular Coverage (CC)}
        & \multicolumn{2}{c|}{LOS}  & I / CC / LOS  &       &   &   &   &   \\
    &   & \multicolumn{2}{c|}{NLOS}  & I / CC / NLOS &       &   &   &   &   \\

enter image description here

The reason for the misplaced vertical lines is a conflict between the arydshln and the hhline packages. You need to get rid of arydshln if you can go without it. If you can't remove arydshln, then you may try tabu, it's a powerful all-in-one tables package which can work with hhline and has its own dash-line styles.

So, in your preamble, you can use \usepackage{hhline,tabu}, and to get dashed lines, just define your own style like:

\newtabulinestyle{ mydashed=.5pt on 1.5pt off 1.5pt }

and use it as normal column specifiers like c, l, and r.