I've got a content creation tool, updating files in perforce. 
These files have been inconsistently created as binary or text.
I would like to get the file type of an existing depot file so when the user saves a new revision, it will export the correct type from the tool.
It seems too hacky to just always export as text to avoid file corruption of those p4 type files. Aside from larger file sizes, are there other issues with checking in a text file as Binary in perforce?
I would like to get the file type of an existing depot file 

Most Perforce commands that report on files will include the filetype as part of the output.  The simplest one is p4 files; if you run p4 files FILENAME there will be a filetype like (text) at the end of the output.

so when the user saves a new revision, it will export the correct type from the tool.

Be aware that Perforce's filetype is not the same as your tool's concept of filetype!  To Perforce, .PNG and .PDF are both just binary.

Aside from larger file sizes, are there other issues with checking in a text file as Binary in perforce?

A binary file is essentially "not text" and will disable all of the Perforce features that depend on the concept of line breaks and textual characters -- RCS delta storage is one, but you also won't get line ending format conversion, diff/merge, p4 annotate, p4 grep, et cetera.
If the text files generated by this tool aren't diffable or human-readable, and if they aren't expected to obey native line ending conventions (or if they aren't portable across platforms in the first place), then binary sounds like the right choice across the board.
How do I get the Perforce file type, of a given depot path, through python?